Out of order packets are caused by bad load balancing or per packet load balancing.
Technologies like CEF avoid out of order packets by doing a really good PER FLOW load balancing/load sharing.
For TCP:
Out of order packets to a receiver are a waste of 1. bandwidth and 2. CPU cycles
1. Packets received out of order will trigger duplicate ACK which triggers fast retransmit from the sender. Also, the sender reduced its window size because dup acks also mean network congestion. Thus limiting the possible BW attainable.
2. The CPU needs to spend more time reordering the packet.
For UDP:
Out of order is more detrimental to UDP since there is no concept of sequence numbers. That is left to the application.
Time sensitive applications like voice cannot cope with or wait for missed packets, they just play the audio as is.
Things like video are even more sensitive to packet loss than voice.