As someone who worked in the US with a H1-B, in my case it was because you'd not find someone with my particular skill at that point in time. I was also paid more than the employees at the company I was contracted to work at - because of my particular skill and I'd taken a pay cut to move to the US.
This is what the H1-B is/was supposed to be like. It does seem that it has been abused.