From this Gamefaq (the last question at the last section of the page). It relates to GTA IV, but is fairly relevant still.
I really wanted to drive and when I first drove it,
suddenly a whole bunch of them appeared! How is that possible?
The FAQ states that:
Simple Answer: it is to speed up rendering speed. If every car you
passed by was 100% different than the car behind it and infront of
it dont you think it would slow the game down? they place alot of
variations of the same vehicle your driving to prevent the game
from slowing down due to loading.
The FAQ continues with a more complex in-depth answer as well:
Basically, the car models are too detailed for the RAGE
engine to keep all of them cached and available to show up at any given
time. So only a few cars are loaded into memory to spawn. But since the
game has to have the car you're driving in cache, that puts it on a
relatively short list of available cars to spawn, so all of a sudden
everyone's got an Infernus.