* in non overloaded case LIFO/FIFO make no difference[1].
* in an overloaded case LIFO has better reliability properties, e.g. no standing queue and therefore faster recovery times.
There are alternative approaches there to the problem: Facebook queues switch from FIFO to LIFO when overload is detected[2]. Airbnb uses the same approach[3]. We tend to stick with a simpler way of using LIFO by default.
[1] Given that one does not care about message ordering. If order matters, as mentioned in the post, one can use CoDel or use LIFO only between different connections, maintaining FIFO within each connection.
There is a good discussion of LIFO queue behaviours on the corresponding reddit thread[1], featuring the Google's SRE book, Van Jacobson quotes, and real world examples.