If there were no H1B visas, the market price for people with high demand skills would float up and encourage willing employees to offer to relocate or gain the necessary skills. The H1B visas (one way or another) seem to bring down wages and discourage domestic workers from training for the jobs. We've all seen workers being laid off and replaced by inexpensive H1B labor. We seem to be creating a culture of dependence on H1B visas which accentuates the problem.

Now let me cite some rough statistics. The typical salary of a CEO for a US semiconductor company is something like 9.5 times that of the average US engineer, and that may represent as little as 10% of his total compensation, and the other corporate officers are similarly compensated. Yet somehow while bearing these "costs" as overhead, these companies manage to operate at something close to 50-55% gross profit margin, and that includes paying for the services of many US engineers at their "regular" salaries. So where on earth do you get the motion that the average US engineer is "grossly" overpaid, that these corporations "couldn't operate at a profit" without being able to hire engineers extremely cheap, is that just "standard propaganda" when they recruit H-1B candidates?
Because let me tell you right now, that's "the deal" and you definitely didn't get it! It would be MUCH better for both of us if instead of accepting a hideously low wage, you could manage to upgrade your skill level so you could come here and compete for something MUCH closer to a living wage, then we'd BOTH be happy! (And I hope you don't take umbrage that I tool the time to point this out, this isn't intended to be a personal attack in any way.)

Neo1,
You start out by saying that you "know the deal" but from what you have said it is painfully obvious that you don't and I'll prove it shortly. Meantime let's try on a hypothesis, suppose you're working away happily in your home country and one day your boss gets in touch with me and finds out that I have the skills to do your job and I'm willing to do it for 20% of what you're being paid. Overnight you're out of a job, you aren't given an opportunity to "rebid" for it. Then after taking your job I go to an online industry forum and try to tell a story that I took a job from someone who was incredibly greedy because I was willing to work "for a reasonable rate". Mind you, you still have to pay your mortgage, your taxes, any medical and legal bills you may have, and to put your kids through college, and you were just barely making all that happen before I came along. (And even though you would probably despise me you would still have to marvel at how I would be able to find equivalent services costing 20% what you were able to find, or how I could manage to get along without them entirely.) Would you be particularly "appreciative" that I was there to "point out" that the "real problem" was that you're a total greedhead? Gee I don't think so.

I know the deal, I have worked as H1B worker for a major semiconductor company 7 years back. They paid me the minimum allowable wage for that state, which btw was still 3 times more than what I earned at home. A US engineers would never work for such a salary and as even fresh out of college grads were paid at least 1.5 times mine. I have to say that I was proficient in my trade but not an expert. They mainly want some cheap labour and H1B is the means to that but there are definitely exceptions where certain skills are in short supply if not totally unavailable.
If they could hire american engineers for that pay they probably wouldn't go for H1Bs. In the end either the companies or the engineers have to adapt to the times, looks like one did.

There is a lot of illogic in this whole H1B system. #1 is that there is a shortage of labor. In a free market, there is never a shortage. Price fluctuates so that price matches demand. If you can't hire engineers, you aren't paying enough. If you have too many qualified applicants, you are probably paying too much.
#2 is that foreigners are being paid what an American would be paid. This is nonsensical. The market wage for a domestic engineer, by definition, is the salary you must offer in order to get a domestic engineer to leave his job and work for you. If you cannot get an American to work for you, you are by definition offering submarket wages.

Right on, companies are of course competing with each other on many levels including to hire talent, and they're also "pretending" to have needs that are superior to the competition - take this to the limit like things are now and these companies are "competitively pretending" which is exactly what you're seeing happen.
The other side of this is of course the compensation. I spent most of my career working under contract or "job shopping", yes sometimes the pay is better but mostly I appreciated working in situations where the employer was well enough organized to actually know what the project was supposed to be about (and therefore not wasting my time and trying to blame me for HIS disorganization) before he hired me. A close friend of mine has a saying about the "marginal price of employment" but what all the microeconomics really means is that the elasticity of the employment rate on the downside is EXACTLY zero, in other words if there's exactly one TOO FEW engineers in the entire labor market he may be able to charge a little more for his services, but if there's exactly one TOO MANY engineers the marginal price is zero and that last engineer literally cannot get away charging a rate for his services that even pays his expenses, and that's how it's been in my field for almost five years.

I've always thought that the H1B visas were for a generalized pool of talent and not anything unique. I've managed to have a L1-B specialized knowledge visa with various companies for over 10 years and have been doing my best to train local talent so I no longer need to go to the US