Edit: I am taking a break now and will return later this afternoon/evening to respond to any comments and answer any questions. Thank you everyone for a great and engaged AMA so far.
* By law, the US can only issue 140,000 employment-based green cards per year, and no more than 7% to one country. This means people from India or China can face a 100+ year backlog, even after they have proved they qualify for a green card. There's no cap on marriage-based green cards.
* Processing times for many green cards (i.e. for people who have already qualified, but just need the physical green card), are 12-24 months.
* USCIS still expects many applications to be sent by mail. Some applications (like O-1s, EB-1s) require hundreds of pages of evidence, and it all needs to be printed out on 8.5x11" paper, for USCIS to scan it in on B+W scanners. This means that there is no error checking (e.g. on fee amounts), and if you have made a mistake, you might not know about it for weeks. Also, it means your petition cannot include working hyperlinks, webpages, or videos - the USCIS officer judges the petition by scrolling through a 400+ page PDF.
* The 'standard' post-graduate work visa is the H-1B. It's entirely lottery-based, not merit-based, and typically there are 400,000+ people competing for 85,000 visas. Many qualified people are forced to leave the US each year because they didn't get selected in the lottery.