If you purchase from some companies that regularly ship to Canada, Amazon.ca and Digikey are examples, then you will get your package on-time with no surprise charges.
Conversely, if you deal with the smaller players, and this includes many US companies that say "they ship to Canada", the following usually happens:
a) FedEx will get you the package, pretty much the next day. You may wind up paying a small brokerage fee ($50), and GST and/or PST.
b) UPS will get you the package eventually (2 to 3 days), and you will almost always pay a fee. Pretty much the same fees as FedEx.
c) Packages less than $50 are exempt from some of the fees.