Queues are not just a matter of data structures - there's a statistical behavior to take into account. This video may not tell you all you need to know to work everything out, but it does tell you why the other line always moves faster than the one you are in.
Queues are not just a data structure, they are also have a statistical behavior which you really do need to understand if you hope to build one into a system. That's the hard sell on why, as a programmer, you should be interested in queueing theory but even if you don't swallow this idea you must be curious why the other line, i.e. the one you are not queuing in, always, and I do mean always, seems to move faster. The last part of the video explains why this is so in simple terms for three lines of customers at a till.
If you are still not sold on viewing the video and expanding your knowledge of statistics and probability you surely want to know what Erlang, yes the man the programming language is named after, actually did. Erlang worked for Copenhagen Telephone company, and did a lot of fundamental work on queuing to make the best use of trunk lines.