USCIS recently released an excellent FAQ about the visa wait times, and the reasons why it takes so long to immigrate under the preference system. I still think that with time, things will get even worse. In order to keep families from being apart for years, Immigration reform must address the visa backlog as well.
A visa must be available before a person can obtain an employment-based green card. Because more people want a green card than there are visas available, not everyone who wants a green card can get one immediately. Therefore, some people have to wait in line until a visa is available.
The U.S. Department of State (DOS) gives out 140,000 employment-based visas each year. About 85% of those visas go to people seeking a green card in the United States, while about 15% go to people seeking to immigrate from abroad. Currently, about 234,000 people have employment-based adjustment of status (green card) applications pending in the United States and are waiting to get a visa. How long you wait for a visa depends on the supply and demand for your particular preference category, your priority date, and the country your visa will be charged to, usually your country of birth.