Our visa system is broken at least in the sense there is little oversight. I’ve worked at more than one company where the renewal process is a joke; the company makes a posting, but they can tailor the posting so narrow that only the person currently in the role could possibly fit it. And “we can’t find an American worker to fill the job” often means “We can’t find an American who will do the job for as little as we want to pay”.
These days its less of an issue, but during the Great Recession there were a lot of companies employing cheaper imported labor while American talent sat unemployed.
I don’t think the program is all bad, but I do think there is a lot of room to reform the abuses that occur.