Why do routers queue? Because an interface can only send one packet at a time. If that interface is busy, and another packet is ready to go, it must wait in line.
FIFO = first in, first out. A FIFO queue is a software queue to hold packets while they packets wait, in order, for the outgoing interface to forward them. The queue is on a first come, first served basis. There is no prioritization of packets based on classification. If you’re at the head of the line – well then, lucky you. You’re up next.
FIFO is the default queuing method for speeds above E1/2.048Mbps. E1 and below use weighted fair queuing by default. So, if you want to turn on FIFO for an E1 or below interface, you must disable WFQ (i.e. “no fair-queue”) and/or any other queuing tool you fired up. About the only other thing you can do with FIFO is configure the queue length with the “hold-queue <x> out” command, where x is the number of packets the queue can contain.