I am not an immigration lawyer, but this is my understanding: The H-1B is similar to the TN but each have their pros / cons: TN is much cheaper (~$50 + lawyer fees) and there is no cap / application deadline. You apply at the border so there is also virtually no waiting time assuming you get it.
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.