You can only be on a H1B for 6 years (3 years renewed twice). After that, its either greencard or go home for a few years, and everyone I know has been able to get greencards even if the "process" is kind of tough.
However, I cannot get a greencard in the country of my residence (where I have many coworkers with USA greencards, ironically enough), so I think it is not very fair.
Countries with worse policies are no excuse for the embarrassment that is the state of US immigration.