Consultants are there to provide advice, guidance, strategy, and oversee/implement.
Contractors are there to be implement something that's already laid out for them.
Freelancers have a tiny portion of the work to do with little to no say.
Often, freelancers are upset that their customers don't want them to be a consultant and care about their opinions.
There appear to be 2 key failures of the vendor:
1) There's a big difference between being a consultant, contractor, or a freelancer. IBM is there to provide expertise to have a successful project.
2) Disfunction and inefficiency is profitable. It's good such behaviour is coming to light, because future up and companies will eat IBM's lunch in time.