Another analogy: You can't swim against a stream, that's why you just can take the next bit, byte, string or object from the stream, while the already read data is deleted. A one-way-ticket...or basically just a queue without storing persistence.
So do we need queues? You decide.