Here are some reasons why:
1) loss of corporate identity / camaraderie
2) reduced working training & quality... and loss of control over how work it performed. If you retain control over work methods, they’re supposed to be employees
3) double downward pressure on wages as companies compete and then the contracting firm takes a cut. Pressure increases as subcontractors show up
4) subcontracting! You hire firms with no capabilities, which then hire subcontractors who hire people who know what they’re doing (maybe, see above). Why are these companies making profits? It should all go to the workers.
5) false flexibility. Your HR system might be painful, but good luck getting rid of a toxic contractor if they’re the cheapest person who can do the work. You can take your contract to a new company but they’ll hire the same people you already had.
Contracting obviously has its place - no firm can do everything- but staff replacement just sucks.
-