The Canonical tag was definitely one of the best thing Google introduced to webmasters lately. But there was one limitation. You could only use it to control duplicate page issues within a website. That is if you have two pages, A and B, where B is a duplicate of A, then you could add a rel=canonical tag to the Page B, so search engines know that the original page is Page A.
So what if yo migrated to a new website and wanted to let Google know that there are pages still in Site B that is a duplicate of pages from Site A. If you thought 301 re-directs are the way to go, yeah definitely. But only for people who actually tried implementing it, do know how troublesome it is. You always end up with pages one or two ending with an improper redirect. It happens.
And cross website canonical tags comes to the rescue right here. Though its advised to use 301 redirects on a mass scale whenever you can, like when migrating from a server/domain to another, to fix minor issues with few pages, you can always go for canonical tags. Now all that you need to do is instead of using the original URL from the same site, replace it with the original URL of the old site.
Big thanks to Google for this. (Official Google News)