Contracting is fine. If your company can't do something, then call in a specialist. It makes sense. What doesn't make sense is calling in a specialist who then farms the job out to the lowest bidder. Effectively, you're getting an over-priced sub-standard product or service. The only winner is the Contractor, who has used their name/brand 's reputation to secure an easy profit from being the middleman.
The whole catch here is that the sub-contract's gone to THE LOWEST BIDDER. The cheapest, the one who's infrastructure can't handle the demands, the one whose manpower is half of what it needs to be (and likely to be so even before taking your work on!).
How often have you gone home after your day's business thinking "Why can't it just WORK?" Well, that's because whoever's problem it is is busy finding reasons why "It's not my job" to fix whatever's gone wrong. The contractor's not paid for the sub-contractor to fix it because it's not commercially viable to do so… You get the picture.
Ban sub-contracts (and sub-lettings, and any other sub-anything that's not making the contractor solely responsible to the contractee) and see business suddenly wake up.
Argue penalty clauses if you like, but I'd rather have something work than a token payment.
Why is this idea important?
Profit is one thing, but Economy is better. If you can consistantly get more for less, then you have more cash. Adding a couple of percent to the balance sheet this month by using sub-standard products or services is likely to cost you that couple of percent and more the next month.
Sub-contracting simply adds a layer of "not my job" to business and costs large amounts of money to ultimately the company who's calling in the contractors, thus their customers.
More cash, less hassle, speedier resolution, traceable responsibility, happier customers/clients. Who'd disagree with that being important to their business?