The first group are basically being exploited by a body shop that puts in 10X the number of applications vs spots that they need, but always still gets lots of awards. They then are able to leverage the fact they flooded the pool to carry out visa arbitrage - they have something employees want, and leverage that, even though that things is really public government property (visa) and so shouldn't be a privately leveraged.
Almost all the H1B horror stories are from these shops (often they have related outsource arms) - "I had to train my replacement and they sent my job overseas using H1B visas". You can see how trump got elected when dems were defending this as good for US workers.
The second group are folks who really really need employees. They are and will hire absolutely any US worker who meets their criteria (it's a lot easier - fewer hoops to jump through) and are willing to hire an H1B eligible employee if they run out of pipeline on US based folks. These tend to be truly higher skill jobs. The US is taking the cream of other countries investments in education etc etc with the folks - I can't imagine this is bad for the US in any way.
What is frustrating from one perspective though is that the reactionary defense of H1B means that lots of group 1 are still allowed to play their games. Seriously, crack down big time on group one. Keep same number of folks coming, and loosen up on group 2 - Level 2+ wages, masters degree US should be first in line.
If that position ceases to exist or gets filled by a local worker, then the visa loses its purpose, the employee apparently isn't needed anymore by US and can be discarded.
We can easily let people switch job titles and employers while addressing potential loopholes though.
That said, i've noticed different "worlds" of H1B worlds, with different impacts upon other workers.
I did a govt job on the US East Coast (Richmond, VA) that had a lot of H1B contract workers, likely from one of these body shops. They were good people, and adequate if unimpressive coders. They were earning decent US wages and were painfully aware that losing or leaving a job left them no guarantee there'd be another for them in the US soon. Management abused the heck out of these people, establishing practices, expectations, and treatment of coders that were terrible. They put up with it, but but it lowered the quality of the workplace for everyone, and the employees and US citizens (naturalized or born) working there also suffered, and tended to leave when they could. I was one of them, which put me in Seattle on the West Coast...
...Where I found an entirely different world of H1B workers. These were not contractors, not through a body shop, and were definitely impressive in their fields (devs, architects, and QA/Test eng, along with a handful of PMs and Team Leads). Here there was no reduction of workplace quality - these workers had lots of extra annoyances I didn't have to worry about (example: apparently changing your job title during one period of time when applying for a green card restarts the multi-year process, so I knew of people that declined or postponed promotions!) but they could definitely find work elsewhere easily enough - should workplace be unbearable they'd bounce like the rest of us could.
Whenever the H1-B debate comes up, I reflect on the different impact the workers had on these offices, and the impact the H1-B rules had on those workers. Everytime one of my friends debated if it was worth pursuing a green card or naturalization, I saw the seeming idiotic result of the US chasing away workers that it said it needed, that had proven themselves, and that american companies had spent time and money in training and getting experience to.