Andy_Langton - 9:51 pm on Mar 16, 2013 (gmt 0)
Personally, I dislike the canonical attribute, although I dislike GWT parameter handling even more.
The main reason is that these are regarded as "hints" as to how Google should interpret your site. They're not absolute directives that will be obeyed. By far the most common reason for Google to ignore your "hint" is that the content at the URLs is different when Google visits (a very common occurrence). So they're not going to drop it or canonicalise if they think they might discover new content.
For sorting parameters, this happens pretty much all the time, as is the case with pagination. This is why GWT parameter handling isn't doing what you expect. To Google "no URLs" means "no new content", and if they don't see that, they will carry on indexing.
One side note is that the parameter handling feature is described in a very worrisome way by Google. They talk about "crawling" and "do not crawl". Now, not crawling implies not retrieving the content at all - rather than mapping to a canonical, which is an indexing task. I assume this is just linguistic sloppiness on Google's part, although I have no test data on it to prove one way or another what the parameter handling option actually does when it actually works.
@seoskunk there's no "penalty" for duplicating content. You're just serving unnecessary content to Google that leaves it to sort through and make decisions - essentially, handing over control of how your site is crawled and indexed for a third party to decide, based on their particular criteria of the time. Fixing such problems has nothing to do with penalties, and everything to do with controlling your site's destiny. It's old school tech SEO.