In your particular situation it probably was a shady deal... but ultimately its the company that looks bad when they send out someone who's wearing a hat that's too big for their head. It is in their best interest to fix that situation and get the right person in to deliver. I'm not sure where I read this but it was a good quote... "1st rate managers hire 1st class workers. 2nd rate managers hire 3rd rate workers."
Now... IT is a huge multilegged beast. Some types of jobs are dominated by foreign workers while others you rarely see them filled. Generally speaking I've noticed in the last few places I've worked (in three different metro areas) that usually DBA's and programmers are predominately the ones on H1B visas while most of the other types of IT jobs are staffed by "locals". Helpdesk and call center type jobs are the ones getting outsourced overseas, as well as some contract programming staff. The programming jobs are going overseas less because a lot of companies realized that paying by the amount of code written wasn't in their best interest. A lot of the overseas outsourced used to go to India but has started to go to Malaysia and other places too.
Contract outfits that are just filling seats are also notoriously shady. Not just with H1B visas but also with shafting anybody. They tend to hire people for relatively low wages so they can take a huge markup.. Some won't deal with H1B's but still lowball people until they find some sucker who doesn't know their worth or is desperate because they are out of work. The people that get hired are usually subpar, but they don't care because they can always dump them and replace them with someone else so they can keep bringing in huge markups.
Consulting firms (like who I work for now) and specialized application or function outsourcing aka Managed Services firms (like who I used to work for) tend to be the most likely to hire the best person they can with the most experience. Their reputation is all they have so quality over quantity rules. You still see offshore and H1B visa employees at these types of places but not to the extent you see in others.
Where do you get your numbers for "massive unemployment"? Recent economic downturn notwithstanding we have far less unemployment here in the US than many other countries that severely restrict non-citizen workers. The only time I hear of people being unemployed in IT for long periods of time is out in California. Given the people I've met from California its a different beast out there altogether and suspect that people are either not looking hard enough or not looking far enough away... jobs are (usually) available during good periods if you are willing to relocate or adjust your pay expectations.