If you are importing from the USA or Mexico, you do not pay duty on items valued under $150 Cdn or sales tax on items under $40Cdn.
This change in policy came in with the new NAFTA agreement July1, 2020.
From other countries, we still pay duty and sales taxes on any import valued over $20Cdn.
This has been the standard since the mid-1980s.
BUT.
Employees of CBSA are not stupid. They realized that assessing and charging import fees on low value items was a waste of taxpayer money, since the border officials were paid much more for the assessment than could possibly be collected. So they ignored low value items.
That is why you, and many others, think there was no fee.
BUT
Couriers and freight forwarders like UPS, FedEx, and eBay's GSP can't do that. They are private companies and must obey the law.
So if you import something from the USA and do NOT use the postal system as a carrier, you will be charged import fees.
The GSP service fee is ~$5US. The UPS and FedEx is ~$25Cdn or more. Canada Post charged $9.95 if they have to collect any import fees.
SO.
If you buy from the USA, using the GSP, your import fees will be included in your payment. Nothing at your front door.
If you buy from overseas , using a carrier that is NOT a postal system, your import fees will be charged on delivery.
If you buy from the USA or from overseas, using a postal system, and your import cost less than $150, you will probably not pay any import fees (but you do owe them and you might have to pay them).
Amazon is a different question. When you buy from AZ itself, your purchase is probably warehoused in Canada and there will be no import fee.
If you buy from a private seller on AZ, you may have to pay import fees if the item is shipped from outside Canada.
Nothing is simple.