Surprisingly, after the long discussion on that well-known meta question, it doesn't seem like anyone's asked about the question that was used as an example: what are the tradeoffs of running your own Exchange servers vs. outsourcing?
For my company, we've seen outsourcing and insourcing come and go a couple times and have stuck to doing it all ourselves. We've used hosted solutions in limited roles (e.g. we've used email filtering for several years now, from when it was Bigfish), but that's it.
In no particular order, the reasons that come to mind for keeping Exchange (and most other functions) in-house are:
Accountability: my bosses know who's responsible for their data, their information system applications. If there's a problem, they have someone in the building (me) to call to find out what the problem is and when it'll be fixed. Worst case, they have someone they can fire if there's a big screw-up.
Security: I'm thinking mostly of data security: all our data is in our building (except for off-site tapes), it's backed up, it's available to the people who need it, access to anyone outside the company is limited.
History: it's not necessarily a great reason, but the in-house IT department has always done a good job, has never had any huge disasters, and the staff turnover has been low, so there's a lot of trust that's been built up that we can do whatever needs to be done - and do it well. Another historical influence is that we have lots of people (including me) who go back way before the Internet took off, before there were many options for outsourcing.
Flexibility: if our internal needs require an unusual configuration, we don't need to negotiate with a supplier to get it setup.