They're desperate, and they get paid a lot if everything goes well. They could carefully screen each person for exact suitability, throw out bad matches and bring in only a few good ones. Or they could throw huge numbers of resumes and see if any stick.
If the recruiter doesn't have excellent technical judgement (few do), the approaches basically pay the same.
What I don't understand is: why don't the recruiters that do carefully screen people just wipe out those that don't? Are there enough companies that are too clueless to hire a good one that the bad ones still get enough results to keep doing it?
I believe the answer to that is the market segmentation. There are so many different type of segments (by programming language, years of experience, company size, industry etc.) that it is very hard for recruiters to spread across too many different segments. So they stick with a few, work them for years, build up a huge network and get really good in these few segments. But of course there is still lots of room in other segments for less qualitative focused recruiters to make a buck by just playing the numbers game.
If the recruiter doesn't have excellent technical judgement (few do), the approaches basically pay the same.