H1B is being abused and they know it. It was meant for 1-2 month gigs and they leave. Instead its turned into 6 year stints
Almost true. While you are correct that the H1-B visa in itself is limited to a 6 year maximum stay, the visa can be renewed indefinitely if the holder is the beneficiary of an approved I-140 petition in the 5th year. This means that any H1-B holder can stay on that H1-B for a long time as long as they find someone willing to sponsor their greencard, and they have about 4 years -in the US- to find them.
Reason for this is that there is disconnect between the amount of H1-B visas (which are not limited per country) and amount of greencards (which are limited per country). We all know which country I'm talking about: the folks from India, however you may feel about their presence, are hitting this the most: For each EB category (EB1, EB2, EB3 in general), there are 265 greencards available per month. That's a little over 9500 per year. On the other side is the number of H1-B (and L-1) visa that get allocated to workers chargeable to India. Just for H1-B, that number comes close to 170,000 just for FY2012 (source). Then there are the L1 visa holders, which are uncapped.
So, you end up having ~10k greencards, vs ~200k influx, just for India alone. This means that there is a huge waiting list for people with approved I-140s, but not eligible to file for AOS. What are you going to do with them? Sent them back? Politics chose to let them stay by renewing their H1-B every 1 to 3 years, even after the 6th year.