Since canonical tag was introduced and announced, a lot has been said about it. Rand did a great ob summarizing its features and differences with other similar tool. In short, the main differences between 301 re-direct and canonical tag can be represented as follows:
|Canonical tag||301 re-direct|
|Used to re-direct page ‘power’ onto another page|
|affects only crawlers||re-points all traffic|
|works only within a domain||has cross-domain functionality|
However, some SEOs doubt the tag is actually any use at all. Really, it seems to be a bad cure for the serious disease: if the site architecture is screwed by lots of (partially) identical pages, it should be fixed – applying tags to show crawlers what’s more important is not a way out.
But if you come to think about it, I start seeing some cases when this tag can be implemented.
My SEO strategy is always careful. When starting a new project to find on-site SEO is screwed there, I never recommend breaking everything and doing SEO from scratch. I prefer to move forward slowly implementing minor changes and watch the affect not to risk losing the site current rankings.
In this case, the canonical tag seem to come really in handy. It allows for changes without affecting user interface. It enables to moderately move weight from one page onto the other one.