There are a lot of games you can play to make say rent look like a cost on a contract while another entity makes a profit from that rent. Worse you still have incentives to offload costs onto a contract. For example someone finishes an unrelated contract your might as well move them to a profit + contract rather than benching them or immediately laying them off.
In the end markets simply aren’t efficient without pricing information. If you can’t get someone to bid a fixed price you might as well keep in in house.