Looks like it boils down to Non-technical people making technical decisions.
This is more directed to managers, VP's, and C-Levels. Before you agree to a contract for technical services, you really should have a skilled technical person read it and tell you where you are about to get screwed.
I have seen contracts to outsource L1 and L2 where it stated "Any ticket that can not be handled by L1 or L2 support personal will be forwarded L3 personal provided by XXXXXXXXX." Where XXXXX was the name of the company that was outsourcing the jobs to India. Sounds good tell you find out that the Indian company hired 1 guy to do both L1 and L2. He had no computer knowledge and simple passed all tickets to L3 with the comment "Do the needful" The Indian company always met their SLA's because it was a ticket that could not be handled by the guy they hired. (Note: That one was for 1500 servers)
Another contract I was shown listed a guaranteed uptime of 96%. When I questioned it, my VP replied "There management did not understand anything technical. 4% down time was sold to them as reasonable. So don't worry about it, we will always make our SLA's" (Note to managers: 99.99% uptime is reasonable, 99.999% uptime is what you want!)
My favorite was one that stated that the customer was responsible for all documentation and procedures on servers, access, and support. That one was a huge pile of steaming fecal mater which suddenly leapt into the air oscillating device when they were SOX audited. The company they were outsourced to met the SLA's and could not be held liable because it was in the contract that the customer was responsible for the documentation.
So, take it from someone with over 20 years in IT. When you outsource technical functions you need to have your technical people vet the contract and you need to keep them to monitor and make sure that the company, you are outsourcing to, does their job.