Bad recruiters are bad, yes. But there are good recruiters (even if they're hard to find!)
A good recruiter knows not to do things like spam developer mailing lists, stiff candidates on reimbursements, or any of the many ridiculous shenanigans we often hear stories about. A good recruiter also knows that the best way to recruit talent is to develop longstanding relationships with said talent, and therefore understands that meeting with developers who aren't actively looking for a job is not only a valuable use of their time, but arguably the most valuable use of their time[0].
That said, I've had my fair share of bad experiences with recruiters. I'm still waiting on a travel reimbursement for a company I interviewed with (and eventually turned down, partly because of this debacle) months ago. (It's not a 2-person, bootstrapped company; they have well more than enough cash to cover a ~$500 check.)
I really wish there were a "wall of shame" for companies that take more then 2 months to reimburse people (especially student candidates) for travel expenses. Six months (the longest I have ever had to wait, from a well-funded company that was later acquihired) is the longest I've heard of.
[0] Yes, I had a recruiter stop responding to my emails a couple of years ago when I told him that I was several months away from graduating and wanted to wait a couple of months before actually beginning the interview process.