A fifo buffer is required when you need to do some processing on the previous data. Writing it to an LCD may take longer than to receive 2 bytes and cause an overrun error.
If I showed you the processing I do on my packets (without a FIFO), and what I do in between receiving packets, you'd change your position. Basically, I rip apart the first 5 bytes into status bits (I only use 7 of each, so 35 status bits) and act upon most of them.