neither. the issue along other, is that having a cap give us a value to optimise toward (optimising the performance to support lets say, 10 ships firing at max rof in the screen on a low end computer), is a huge lot different if its 10/sec or 100 per secs
Now you could say, but just dont put as many projectiles for the people on lower graphics. Sadly, this is not possible due to the fact each projectile is an individual spaceobject (your ship is a spaceobject, planets are spaceobject, well, projectiles are too). The quantity seen is the same for everyone in the galaxy and cant be changed without some quite ugly hacks (not rendering a projectile / 2 etc)
Thats only for the client side of the equation, Now if we move to the server side. Each projectile is a spaceobject, we established that fact earlier. But projectiles are a lil bit more special, as in they can collide with other objects. doing it for 500is relatively painless. doing it for 5000 would be a whole other story, especially if it happen on more than 30 galaxies at the same time (since we use multithreaded galaxy idle, and we currently run on 32 cores).