Outsourcing generally depends on what project specifically you want to outsource, and the work quality varies immensely. Personally, I've had a reasonable experience dealing with an outsourced logo development project, but a terrible (and relatively expensive) one with an outsourced web development project. I learned the hard way: when you hire an outsourced web developer, you get a web developer (read: they'll make you a webpage), not a designer or product engineer.
The key theme is to be involved every step of the way and have a clear idea of what you're looking for.