As Murray has explained, it is a business, as is the government itself. Yes, parks are for all to enjoy, but that doesn't mean that they're free. I can assure you that the number of Canadians who have never visited a national park in their life is far larger than the number who have. Why shouldn't those who do visit pay for it like any other service? I certainly don't have a problem with it.
I suspect that US parks get far more visitors per year than Canadian parks. High volume leads to low pricing.
Quick internet search reveals:
In 2004/2005 Banff National Park received 3,927,557 visitors
In 2004, Yellowstone received 2,868,316 visitors.