I've also experienced this, and I completely agree. The reality is that you have to pay a very high salary in the US if you want someone to do a very good job. You probably have to recruit from the top universities, or the top candidate from other universities. Also, for a fraction of a US salary you can hire the very best bands in other countries, which is obviously a logical decision for any company to make.
That does not, however, excuse anyone from following the law.
I could be wrong, but the intent of the law is to encourage companies to train candidates to make them ready for the job. If you are just bringing in workers from other countries to work on us soil, even though there are us workers that can you do the job, in my mind you are essentially circumventing the intent of the law. This weakens the country for everyone.
Part of the problem right now with regards to skills is that there is essentially a threshold that has been crossed for outsourcing where the skills are just more prevalent in other countries. That's obviously not a great look for the United States.