This is more of a high-level summary of this post:
But, I think it's a very important and often overlooked aspect of specifying canonical pages. That is, simply stripping any query string parameters from the URL, i.e.
<link rel="canonical" href="http://www.example.com/products/" />
What you are telling search engines with this tiny but dangerous tag is that all "versions" of the /products page are essentially duplicates of each other. Very bad!
A more appropriate use of canonicals is to "strip" query strings which don't actually affect page content. For instance:
<link rel="canonical" href="http://www.example.com/products/?id=13" />
This prevents the SE's from assuming that the page with the message query string parameter is actually a different page.