Hi Tim,
Yes a canonical tag is useful for resolving duplicate content, and acts in a similar fashion to a 301 from the perspective of search engines and passing of link juice, yet allows users to view the original page. So the use depends on the context of your duplicate content issues.
For example say you have a common issue, multiple versions of the home page under /, /index.aspx and /home these are all versions of the same page, no content has changed, what the user sees is not reliant on anything in the URL. In this case a 301 is your best bet back to the root version of the page you want, it shall also help prevent people building links to the various versions as when they take the address from the URL bar it shall already be the version you have selected.
Now say your a retail site selling frogs (Don’t ask, i have a fondness for using frogs in my examples) and you have a product listing page of all the frogs you sell. this could stretch over multiple pages and be paginated. For example /frogs, /frogs?page=1, /frogs?page=2 etc. In this case you don’t really want all these versions of what is effectively the same page ranking, particularly as content won’t change much and can be seen as duplicate. Additionally you don’t want any link equity being split between all the paginated versions however you DO want the user to be able to view these pages. In this case the use of Canonical can be perfect (or rel next/prev but I’ll ignore that for now)
Now it gets a little more complicated and we begin to get to the areas where you can hurt yourself from an SEO perspective. Say your customer can sort by clolour of frog aswell, this adds another parameter to your URL and more duplicate content. i.e /frogs, /frogs?colour=red, /frogs?frogs=blue. Here you can do the same as above and canonical back.
This is where the potential danger lies - The URLs you have canonicalled back will not be ranked in search engines, now say Red frogs are a massive seller and really popular with customers, you may want this page to rank, and canonical tags can prevent this. This is the kind of situation that can cause you a mischief. Have a read of Dr Pete’s 'What page is canonical below' for a more detailed explanation.
Hope this helps you out.
Thanks, Tom.
Heres a few extra resources you may or may not have already discovered: