That's true. But many companies buy their services anyway. And that's often because they did not made the transition to software-driven companies (the "internal IT as a cost center" problem) and have trouble or don't even want to hire people.
Having worked in the industry for years, I saw so many disfunctional companies that I felt lucky to just be "the consultant".
...or because they don't trust their own developers/architects. It's unbelievable that if a paid consultant tells you something, you tend to believe him more than your own developer[s].
I have been in a few projects where basically we were repeating the internal developers wishes to upper management, because they needed the confirmation from externals to get the buy-in from upper layers.
A lot of the times I saw that it wasn't management having a lack of trust in developers it was more believing that they needed external affirmation of what they wanted to do.
I believe this is mostly the case of cowardice of making decisions on their own and owning up to the results. If they hire consultants and they mess things up (whether they do or not) they can point a finger at someone.
I think the distinction has merit. There are low-quality shops, which basically rent warm bodies, and then there are consultancies that actively shape future, with the client.
Having worked in the industry for years, I saw so many disfunctional companies that I felt lucky to just be "the consultant".