It looks more like you're asking from a providers point of view... I'm usually a buyer so I'll tell you about my experiences as a buyer:

I've been working with numerous freelancers for quite a while. It took me a long time to figure out how to choose my freelancers and I've had several failures along the way. The first things I outsourced were website PSD to HTML conversion ("slicing") and php scripts. These projects were usually somewhere between 50$ and 200$. While I did check their references and their ratings, I always tried to take one the cheapest providers. The projects grew and my average project size currently is 1000$, with the smallest ones still 100$ and the bigger ones 15k USD. I have changed my criteria since then and now look for the following things:

1. If you need a special skill (i.e. I once had a project that involved a lot of work with the google maps api): I most often search these sites my self and usually invite only the people that actually have that skill mentioned on their profile page. That way you can be sure that they actually know what they're doing and that they don't have to learn it while working for you.

2. Average hourly wage & price is the most reliable predictor about the quality. Usually providers will try to be as cheap as possible, providers who have enough work and who are confident enough that their work is really valuable however won't play this game and usually charge more per hour. I usually pick developers who charge more than the average.

3. It may look like you'll get a great deal but most of the time you won't. If someone is bidding 200$ on a project that even a non techie like you can say that the project won't be just a 3hour job but weeks of work, then don't pick this bidder. Most of the developers quickly loose their motivation to do anything after they have exceeded their own budget for this project, start to do sloppy work, or argue about not implementing required features.

4. Don't trust the ratings. There are some providers that go out of their way to get good ratings even after they screwed up big time. I've had people begging me not to give them bad ratings even offering me a refund. When looking at their ratings the valuable information is usually in the buyers comments not in the 5-star "grades"

5. Always check the code they're writing. I've had freelancers who screwed up you couldn't even imagine. Like putting and SQL query into a GET variable and then execute it on the server unfiltered.

This is when buying from one of these sites. By now I more or less figured it out but especially in the beginning I burnt my fingers quite a few times when working with freelancers. It's something that takes time to master.

I agree with ankeshk, I've had the best experience with odesk because their workforce is better qualified and the hourly billing is ok for me. I also oftentimes use elance for some projects.

Another helpful tip: I was working on a project where I needed a twisted proxy to translate something for me. I started reading the documentation of twisted and after a few minutes I decided that I'll try my luck in their IRC chat. I went in there and basically just said: I need some help with twisted, would anyone be interested in a small half day project and earn a few bucks? and worked with the first guy to answer in the chat. It worked out quite well.

I've also hired people from djangogigs.com and it worked out ok however you have to watch out that these people really are freelancers that want to do freelancing, I've worked with a few who said after a couple of weeks that they couldn't do it after all because they don't have enough time after their normal workday to do freelancing.

There are outsourcing companies like Itteco.com and x-minds.org which I can really recommend for bigger projects and longer lasting partnerships. I have worked with both of them, I don't know all of their developers but they certainly have good developers. If you decide to work with a bigger company I would usually only do that with a personal introduction and/or careful due diligence.

Generally speaking: if you're looking for freelancers, ask people in your network, if they know good freelancers that's the best way to find them.