I think I can explain the idea. H1B visas are not green cards, companies like them because once they sponsor someone that person either keeps working for the same company or goes home. Companies like this because it makes the person wholly dependent on the sponsor company, read really low wages. Except the catch is eventually lots of these people do go home, bringing their technical skill and company IP with them. As the process continues you get net talent drain out of the U.S., the U.S. citizen was never given a chance to learn the job and those skills hours go back offshore. Back when there were very few real opportunities back home the process was slow, but as the process continues over time there are more and more options back home and each new returnee further enables the next one. That is why you are now hearing more so many stories about workers repatriating, at the end of the day most of them really would prefer to live and work in their native communities.
That is why most technical organizations advocate green cards over H1B, if the person is really that good, why not give them the option of staying. Companies don't like it because once they get over here, they can't keep them unless they pay competitive wages.