Few rules I use when I deal with recruiters (in Europe):
1) There are really an handful of recruitment companies with a good reputation and history. By default, I distrust a recruiter calling from an unknown agency. There must be thousands of small recruitment agencies in Europe, I get a fairly high amount of emails/calls every week and I mostly ignore them.
2) Be suspicious when a recruiter knocks at your door or publish a job ad with an out-of-market rate. Rates are low these days. They just want to harvest CVs.
3) If a recruiter insists in having references is a contacts-harvesting cowboy. Treat him like you would treat a zombie. I only give references after the initial interview.
4) Don't waste time talking technical stuff with a recruiter. They don't know shit. In 10+ years I have met maybe 2 recruiters with a real technical/dev background. Most of the time, recruiters end up being recruiters just because they failed at everything else.
5) Most of the time jobs coming from recruiters suck. A company with a decent vision on how to build software will never use zombie recruiters. Maybe they will contact one of the big player or, more likely, they will go on the market themselves. Recruiters jobs are mostly financial/telco crap where Java 1.4 is the standard.
6) Be aggressive when it comes to rates. Recruiters markup is around 20% (again in Europe). It may vary dramatically. So think about it: You are giving 20% of your salary to a guy who phoned you one day, sent you to an interview the next and disappeared. Also, some recruiters (very few) are transparent about the markup. They are normally worth your trust.
7) When you leave a contract, keep good relationship with everyone at every cost. It will pay back.