I got my present job through an agency for more money than I had asked for.
That said, agencies are like anything else, some are good, some are bad and some are downright UGLY.
Here is how you tell the difference.
1)If an agency asks you for money, RUN don't walk from it. It is some kind of scam, either a ponzi scam or a 'networking' scam. Legitimate agencies get their fees from the employers not candidates.
2)Ask the person in the agency how long they have been in the agency. The longer the better. High turnover means the agency isn't placing many people or is treating their own people shabbily.
3)An agency that is doing well will have 'brag sheets' all over the place boasting about how many people they placed. Look for thank-you notes and the like.
4)A good agency will try to find a position for YOU. A bad agency is just looking for warm bodies.
5)Ask people in your industry about various agencies, especially hiring managers, they know best.
6)Trust your gut. If you feel like you're just a number, you probably are, find another agency. If you feel like you are being given individual attention, that's a good sign.
7)NEVER trust an agency that tries to push you towards something you are not a good fit for. They're just throwing bodies at jobs and aren't going to help you at all.
8)IF an agency encourages you to lie or embelish on your resume, RUN from them.
9)If an agency asks you to reword your resume and emphasise things relevant to the job, it's a good agency.
10)If an agency asks you alot of questions about what YOU want, it's a good sign.