In a given playlist, shuffle-mode repeats songs. There should be a non-repeat setting, so you can randomly listen to entries in a playlist, but not have them repeat until each other song has been played.
As it stands, you could conceivably listen to the same song twice in a row on suffle mode. Not a good thing. On an iTunes playlist, the entries do not repeat until, as mentioned, the entire playlist has played.