Disclamer: I was a salaried contractor who worked for Northrop who was sub for Lockhead who worked for the USAF. A typical oversized, multi-year, multi-billion dollar contract.
Northrop could not replace me at any time they wanted without cause any easier than my current government employer could. (my current employer is a local county.) Nobody in that entire building ever got fired "just because." Its often bantered about, but given that most of the contractors were ex-military in their 40's (I was one of two exceptions) it never happened. Once they got you in there, it was simply too expensive to swap you unless you royally screwed up and the customer wanted you out of there. And I got full benefits from Northrop, including vacation, sick, medical, 401k, etc, etc. I get more or less the exact same benefits from my current employer (401k, no pension).
I was salaried, but I had to declare all of my hours to the project for billing purposes. They did not want me to burn hours faster than what was allotted in the contract, so they really didn't want me there more than 40 unless something major came up. My current job is also salaried, and on average I probably work the same average number of hours.
Now, individual situations can alter this perception. Maybe you worked for SAIC or some other warm body shop in a contract from hell that had high turnover. But in all of those cases, the issue was not that folks got fired, it's that they all left the second they found a better paying job because the contract went to the lowest bidder, and SAIC only wanted to pay 1/3rd to 1/4 of the rate to the actual person doing the job to cover their "overhead" ($60/hr for a system admin to SAIC results in $20/hr to the actual contractor. Any takers for a unix admin with a security clearance for @$30-40k/yr? No? Didn't think so.).
We do use contractors/consultants at my current job in two cases:
1) Very short term 'in, do xyz, get out' implementation or staff augmentation projects. Basically, install this software, train the IT staff and get out. Those are all $250+/hr consultants and we limit how long they are in house. They are very expensive ($500k/yr) but we only use them to get over critical staff shortages or crunch periods.
2) Contract to hire for new folks at the help desk. Mostly because we can, er, fire them faster. That said we have yet to do it "just because." In all cases the idiot screwed up not once, not twice but three times within the first two weeks and got walked. But when you get here those conditions are very explicit. Going through the interview phase is a pain in the ass for us (we'd rather be doing real work) so once somebody is here we'd rather it work out than not. It actually cost us more to go that route but the process is faster so nobody cares.