You should look at it from the other side, It's not a matter of not finding americans to fill their jobs, it's a matter that Americans easily become too costly to fill the jobs, and a cheaper alternative is requiered for business to happen. I have friends who worked on H1Bs at plenty of Silicon Valley companies, where a lot of the workforce were not Americans. Their salaries were not that of slave workforce at all, but still allowed the companies to reduce cost a lot in their intial stages, then they grew and hired more Americans. Americans have to understand that they are easily becoming too costly, with unheard of salaries anywhere else in the world, you are choking your own business, which would rather outsource or hire H1Bs than hiring you.
That fails to explain why the productivity of American workers has steadily increased for half a century while wages have remained stagnant. This fact is simple and easy to understand -- we are producing more and earning less. Somebody's getting screwed and it's us. Don't let this become obfuscated in all the phoney controversy.