Ultimately, the tremendous wait times for everyone in the 00s, and now the tremendous lines only for a few countries, come down to the maximum number of green card numbers being vastly inferior to the number of people that qualify for said visas and are already living and working in the US.
Even in cases where your employer isn't trying to actively exploit you, the difficulty at changing jobs during the green card process depresses wages. I come from Europe, but I came in as an EB3 in 2000, so I had to wait a good 7 years. I was the highest paid engineer in our small department, and the only foreigner, but I was worth a lot more in the open market than what my employer paid. My salary tripled in the next three years afterwards, as I was paid an entry level salary while being qualified for being a principal engineer at a far bigger shop.
But everyone talks about the H1B program, instead of just opening permanent residency to people that are, in practice, already permanent residents, just with less rights.
Most companies already pay for the attorney expensed once you change employers i.e., PERM, I140 etc.
The only countries that hit this limit are India, China, Philippines, and Mexico. The 120,000 global quota still applies to the rest of the World. Hence, there still are these potential long-ish delays, even if you're not from one of those four countries.
If the laws are fixed by, for instance, making it far easier to switch jobs on a visa, H1B workers will be treated a lot better. Demand for visa workers will probably drop somewhat but it will be more in line with what the visa program was made for: to hire talent not slaves.