The downside of the TN is that it is a "temporary" permit. Technically it's not actually a visa. It simply allows you to work and live in the US for a "temporary" amount of time. The temporary part is very gray in this case, since it is up to the discretion of the border guard to determine if you are using it in a temporary sense. Similar to the H-1B it can last for up to 3 years, and can be renewed after that.
The other big difference is that dual-intent is not allowed on the TN permit. In other words, you are not supposed to apply for a green card while you are on it. The H-1B is dual intent and therefore that's what you want if you want to get a greencard.
A pretty typical path for Canadians who start working in the US and decide to stay is TN -> H-1B -> Green Card. However, it is not easier for Canadians to get an H-1B. They must participate in the lottery like everybody else.
> "In other words, you are not supposed to apply for a green card while you are on it."
You can actually do this, it's very painful but it's not rare. The gotcha is that the moment you leave the country your TN is kaput, so you're effectively trapped in the USA until the green card process is complete.
Not quite true. Once you've filed for adjustment of status (which you can only do once your priority date is current), you can also file an I-131 for advanced parole, and after receiving this, you can leave and re-enter the US with it. Technically you're not on a TN anymore though.
Virgil Keep America At Work
You can also apply for H-1B and if you get that then you can just switch to it then apply for a green card.