For starters, a TN status may be easier for Canadians or Mexicans to obtain, as they are not subject to the annual cap for H-1B visas issued.

Another advantage to the TN visa is that it is adjudicated at the border and you will not be subjected to the wait times that most H-1B applicants must go through, especially if they do not use premium processing.

On down side to the TN visa is that because the TN is adjudicated at the border, TN status can also be revoked at any time at the border (if a Canadian is re-entering the US), even if it is not up for renewal.

But the most important difference is that TN status does not include the doctrine of dual intent. Therefore, Canadians or Mexicans on TN status must be careful if they desire to pursue the green card. Either they should first switch to the H-1B visa before applying for the green card, or they must carefully time things to ensure they do not attempt to renew TN status after the green card application is formally pending.

All in all, it comes down to what are your long term objectives (longer than 3 years) for obtaining an employment visa in the US?  If they are for a short period, or a specifically time lined employment and that is it a TN will be the way to go.  If you are thinking of becoming a permanent resident at some point a TN may not be the best choice.  All of these aspects must be decided before you jump head first into getting one visa or another.

Call to speak directly with an immigration lawyer about the difference between a TN Visa and an H1B visa.