It's legal, but that doesn't mean it's ethical. Also, the argument I've heard a bunch of times that it's "good for the independent retailers" may apply in regards to competing against B&H and Adorama, but not being a Canon Authorized Dealer is not going to stop Amazon in the least (heck, I don't even know if they are one now). Canon can legally punish dealers that don't agree to their pricing scheme by doing things like revoking their authorized status, but they cannot legally do things like refuse to sell product or sell product at a higher price to a company that violates their pricing edict.
As I see it, there are a couple main reasons to declare a minimum selling price. One is to suppress the gray market. That's a lost cause, both because money will always trump some silly label a manufacturer gives to a shop and because there are ways for the more unscrupulous dealers to circumvent the issue. The second reason is to increase the impact of sales and to give them more freedom to modify the price in the future (either direction). This one generally works.