H1-B's, being tied to a company, are extremely exploitive.
In Canada, you get fired/quit you don't get a paycheck.
In the US, if you're a citizen or green card holder, you get fired/quit you don't get a paycheck AND you lose your Healthcare. This is a major way to abuse your workers.
In the US, if you're H1B and you get fired/quit you don't get a paycheck, lose your Healthcare insurance, and are ejected from the country. You can't even just switch jobs. It's extremely predatory and allows companies to fuck you so badly because you have so much to lose.
If the workers were truly great talent, it's in the interest of the country to have them working ANYWHERE in the country. If they were TRULY great rare talents in industries starved for workers, it's counter productive to not let the free hand of the market guide them to the best employers.
That's the scam.
H1Bs, being tied to a company, provide a clear incentive for abuse by a company to use them to pay people less than market wages knowing there is no recourse. It deflated the market value of local workers. Average workers who'll work for below average pay, accept unlimited overtime, and not push back on HR violations or even explicitly illegal actions by their employers is a big win for the company.
They aren't the best and brightest. They by definition can't be. With the reality of the arrangement, the "best and brightest" can and will and always have found greener less abusive pastures elsewhere.
If you want to be in that arrangement, you're not that bright. If you can't find better, you're not the best.
H1B is a really bad program. Employers mobility would mitigate most of my issues, but that will NEVER happen because from the industry, that's the whole point