If you need one-time help for a small coding project, sites such as elance work fine. Their main problem is that there is no committment on the part of the developer. On the contrary, in order for developers to make a living on such sites, they need to move on as quickly as possible to the next cheap gig.
Personally, I believe in motivating people with some real rewards, make them feel part of the team. A mistake I made in the past was to assume that code could be written once. Actually, code mostly needs to be maintained. That means that you'll want the developer to stick around and be available to tweak things over time.
I shared a story in the past about how we switched from outsourced development after two weeks. It was just horrible. But to be fair, we were fairly experienced developers ourselves, so we could tell right away that something was wrong. If you don't have the technical background, it could take a while.