There are arguments both ways. I'd argue the payment is about the same, though. You pay more for a contractor, but you don't have to pay for the benefits an employee gets. Things like health insurance and retirementare provided by the contracting company, not to mention a lot of the admin costs (hiring process, background checks, etc), so whether they cost more are not depends on the exact rate. That said, pros and cons:
In-house pros:
You build up an in-depth knowledge of how you use, deploy, and configure the application in your environment
You can take advantage of knowledge of other related systems and unique peculiarities of support infrastructure
Generally employees are more invested in your business success, as they have a more direct connection to the business
You have greater control over your personnel with regards to hiring, firing, and other functions
Outsource pros:
You may be able to afford higher-level resources than you could in house. A lot of contract places may have experienced tier 2 and tier 3 resources that a single company couldn't afford full-time, but that are shared between multiple businesses.
The contracted employees may have a broader experience. While they may not know as much about your configuration, they've likely seen other configurations and can offer suggestions about new and possibly better ways to perform tasks
You get to transfer at least some of the risk to the contracting company