The other side is overall network health:
If all searches return just about 300 results, then only 300 results per query have to be transported, and that means that the network has to transport less searches and that it can be scaled up to become more efficient.
So much now for the technical reason.
Now for my own experience: Yes, spam bugs me, too, and much so.
There are simply files which are very hard to find, because spam stops the search, so legimitate results don't even get into reach.
And though there once was an idea how to stop spam for good, that idea got implemented in a LimeWire, and it never made its way into the mainstream LW.
So at the moment, we don't have good enough anti-spam algorithms, and Gnutella is widespread enough that people spam it.
It might be that the technical reason will be too weak, soon, so we'll have to adapt the way of searching.
It is damn efficient, but it gets spammed too badly to allow finding rare files.
IDEA: Don't stop rare searches on some results. Always carry them through till we got at least 300 results. The spam will make sure that the network doesn't get hit by this (I know this sounds strange, but we can leverage the spammers to keep the network safe from greedy searches - they won't like this
).