I use any resource at my disposal, but I think it comes down to a little formula that takes in these two data points:
1) what am I trying to build?
2) what are my strengths?
Here's how it works. I basically calculate a "success probability outcome score" based on these two factors. Here are some examples:
Let's say I'm creating sophisticated SaaS solution with a complex data structure and backend. I'm strong in the product side (features, UX, architecture, etc.) but weak in the tech side so outsourcing with oDesk could be a challenge. In a separate case, if I've got a really basic dynamic website with half a dozen tables and basic CRUD operations, oDesk might be a great source for me b/c the project is pretty straightforward and I can project manage all aspects pretty easily given my strengths.
In general I use oDesk, Elance and the like for more basic and straightforward -- they have a wide range of services there including: coding, graphic design, copywriting, task management, voiceover, etc. For this stuff, it's a no brainer. If the project starts to get out of the scope of my expertise and it's generally complicated tech, I tend to stay away from these services.