There may be some firms who are abusing the system. The example of Disney comes to mind... they hired H-1B workers, then laid off US citizen employees, then had the laid off employees train their cheaper replacements.
But just because some people are abusing the system doesn't mean the system is inherently bad. The reason the US is a technology superpower is not merely because of the programmers who were born in the US, but also because of the programmers who immigrated to the US.
Adjusted for inflation, wages for top talent has gone up about 20% in the last 30 years. In 1990, if you got a job in a top company such as Sun Microsystems you got paid about $45K (average then was $40K). If you adjust for inflation that would be around $98K. But today's fresh graduates make about $115 to $120K if you get into a company like Microsoft, and Microsoft isn't even one of the top employers in terms of pay. Facebook and Google pay much more.