Mainly because we have over 7 million people unemployed. The controversy is why are we bringing in so many foreign workers when we have so many people out of work here?
The argument basically comes down to what would we need to do to get some of these unemployed people here trained to be able to take some of these jobs? and if so, what's that cost compared to these H1-B's were bringing in? Also, at the end of the day, how motivated are those unemployed people to go through the rigorous training in order to be able to take these jobs? If you've spent 20 years putting hubcaps on cars in a factory, are you going to want to take six months to learn basic .Net or Javascript?
I don't have any of the answers, these are just some of the rumblings I've heard from executives I know at various large corporations.