I got a feeling contracting firms are used mainly becouse managers don't want more managers around or they just want to hand off their work to someone else.
I mean janitors, cafeteria and cleaners used to be in-house. Maybe managers are afraid of being demoted to manage the cafeteria?