There is still an element of captivity above what a citizen or resident faces--staying in country is contingent on quickly finding another employer who will sponsor you.
If a native employee is fired, they lose their job and probably go on unemployment while the look for another one.
If an H-1B employee is fired, they get deported.
Employers know this, and they treat H-1B employees accordingly.