There are tons of people from India, China and many other countries who do graduate studies in USA in student visa F1. Then they get to work for 12 months as "Practical Training" period. If they hold a STEM degree they get an additional 15 months. After that they get H1B and stay on it till they get their green cards. This group will get very competitive salaries and they are usually world class graduates demanding and getting world class salary.
Then there is a whole different set of H1Bs, fresh from India, no American degree or qualifications. The claimed Indian degree and qualifications are often unverifiable. Their quality of work is poor, their educating is poor, their English is poor. For them even a 45K a year is paying them too much.
Most slashdotters think the corporations lobby for H1B to depress wages for Americans. No, people. They don't care whatever pay you get. They are not paying for it out of their pocket. The real reason is corporate corruption. Many top executives of these American companies own shell companies through intermediaries. These shell companies get the contract to supply warm bodies to the corporations they manage. They sign both sides of the contract, one as the CIO of XYZ corporation and the other side as the owner of some shell company contracting with XYZ corporation. Indian companies like TCS, Infosys, Cognizant, Wipro get contracts from these shell companies. They knowingly supply substandard workers with fake resumes and fake work experience. They know it will not be scrutinized well. They know the H1-Bs will play along with the fake resume. Every step of the way the billing rate is padded up. It is them who actually spend tons of money to lobby the congress.