Outsource a function that requires a group of skilled people? The vendor you picked will gradually reduce the quality/availability of the staff you work with. Until eventually you're paying a vendor to train their new hires.
Outsource a software service? Expect them to use vendor lock-in to their advantage. The price will increase 10%+ annually. Changes will become exorbitant.
Outsource a department? Watch their scope become narrower over time, and their demands on anything outside the department increase. Eventually you need massive forms filled out 'just so' to get anything out of them. Errors become rife, and require a lot of effort for an outside party to fix. Emergencies for the business are not emergencies for the outsourced department.
As someone who makes these sorts of decisions regularly, it's rarely a question of what we want outsourced. It's a question of how we can package the function in a way that is conducive to a vendor relationship.
Not a rant against outsourcing. There are other structural risks with in-sourcing.