If you are expert in development then you can perform it at your place. You should have proper resources and time for software development. Outsourcing is better when you do not have resources, time and that much knowledge about the software development. When you are in hurry and need the quick output that time it's always better to go with the outsourcing.
When software is outsourced for the development that time the other team works in proper execution plan so output is very proper and on time.
if you browse throught freelancing websites they all "pitch" advantages of outsourcing.
Number one reason is cost.
But if you have some Intelectual Property associated, that is not recmendable at all.
Internal development allows to a better control and overseeing. That is a common either for IT or others functions within the organization.
the advantage of software development outsourcing is not a new concept to business software users and developers. Rapid development in computer and internet technology made software development outsourcing a viable cost-cutting solution.
One of the advantage of outsourcing a software development is that you can save a lot of time and you can focus on other aspects of your work. Administrating a site is very demanding specially if its a multiple site, with outsourcing you'd be able to stretch your work and focus because of an external workforce. Your basically the primary owner and the features are a mimic of your requirements, by this giving you control at the same time balance your work load.:rolleyes2: