I'd have to say Canada's immigration process is better (for the immigrant) compared to the US.
The usual US process:
1. Find a company willing to employ you, even though you are not a US citizen / GC holder.
2. Find some way to start working for this company. For some nationalities (ex. Canadian), this isn't actually too bad. For most nationalities, though, if the company wants you to start working right away, they'll have to base you at a foreign office until you become eligible for an intra-company transfer visa, or are able to get an H1-B.
3. The company applies on your behalf for an H1-B. The big problem here is that there is an H1-B quota which is usually exhausted very early on. In years where the quota is exceeded, the system switches to a lottery, so even if you've been trying for the visa for many years, there's no guarantee you'll get it this year if the quota is exceeded.
4. The company applies on your behalf for a Green Card. There's a whole pile of stumbling blocks here:
-- There are overall quotas for the number of GCs that can be issued by way of employer sponsorship.
-- There are national origin quotas. If you're from western Europe, you're probably OK, but good luck if you're from India/China.
-- The employer has to do a labor market search to show that they can't employ a US citizen / GC holder for your job.
5. Apply for citizenship after 5 years
Usual Canadian process:
1. Apply for permanent residency. This is done on a points based system. The calculator is here:
http://www.cic.gc.ca/EnGLish/immigrate/skilled/assess/index....
Some permutations that will let you through:
-- BSc + MSc + 2 years work experience + excellent English skills
-- BSc + MSc + 1 year work experience + excellent English + basic French
-- BSc + 1 year work experience + job offer in Canada (requires labor market check) + excellent English
-- BSc + 3 years work experience + excellent English + basic French
-- BSc + 4 years work experience + excellent English
2. Apply for citizenship after 3 years
Advantages of the Canadian system:
- The Canadian system has no quotas (either based on visa class or on national origin). Apparently, the government publishes "targets", but they don't cut off applications if the target is exceeded.
- In the Canadian system, no one is "sponsoring" you -- your flow through the immigration system is a matter between you and the government. This removes a whole much of incentives your employer might have to keep you at certain stages of the immigration process.
- Once you're admitted as a PR, you can work for anyone you like. There's no period where you are stuck on visas that tie you to a particular company. If you feel the business you're working for isn't paying you enough, you can simply quit and take a job elsewhere without jeopardizing your immigration status.
- Once you have a few years of experience, you don't even need a job offer to get PR in Canada. This lets you enter the country first, and then once you've settled, start looking for a job.