The main complaint has to do with mature market products. A few years ago when our dollar was $0.62 US, stores were all raising prices since importing goods was so much more expensive (transportation costs, etc).
Now that the dollar is around parity, prices on all of these things have stayed at the "making up for the high cost of importing" level. The cost of importing goods has gone
down as the dollar has risen, so the extra amount that consumers are paying is pure profit.
The common excuse for the last year or so has been to do with inventory stocks. The idea is that stores paid $X for the product sitting in the warehouse and are going to charge $Y for them. This makes sense until you realize that all of this inventory has turned over in the warehouses several times since retailers made this excuse, all while the cost of importing has gone down. Smart stores don't even keep huge inventories on hand anymore as the use of JIT delivery methods has become more widespread.
This isn't just a case of a few stores charging more; prices are pretty even across the board, either, and the answer isn't as simple as "just don't shop there." Most Canadian cities have 2-3 major retail chains where a US city will have 4-5 (the difference is usually made up by regional chains). The population and demographics can't support that many businesses... think of US towns where all they have is a Wal-Mart.
Overall, the general feeling is that many manufacturers are milking consumers and inflating prices unfairly due to lower revenue in the US. A lot of manufacturers will go to great lengths to maintain their market share in the US, even to the point of selling products at a loss, because they know they can make it up by charging more in other countries.
And so we order stuff online and pay the difference to Fedex.