Canonicalization is basically a highfalutin term that means "authoritative source" - canonicalization is an SEO-relevant term that refers to the process of ensuring that all of the pages available on your website only ever reside on single, canonical URL.
Why is this important? Well, search engines aren't perfect - they utilise what are called web crawlers which are basically software programs and these crawlers scour the web for fresh and useful content which is then digested and subsequently, in most cases at least, indexed by the search engine.
One of the main problems that can come up in this process is if the indexed content is duplicated on another internal or external page - the risk here is that the duplicated pages will then end up competing against each other for position in the Search Engine Results Pages (SERPs).
There are hundreds of possible ways that search engines can identify duplicate content (if they do, then they will invariably try to filter the majority of the sources from their index). Here are some of the canonicalization issues:
Search Engines can consider non-www URLs and www URLs as different URLs. For example, the URL "http://www.example.com" could be considered different to the URL "http://example.com". Bboth of these pages, if indexed, could end up competing against each other in the Search Engine Results Pages.
The simplest resolution to the problem is to 301 redirect all non-www URLs to their www counterparts.
Many web servers choose a default page which is served up to users who try to access the homepage of a website. For example, the default page for example.com could be "http://www.example.com/index.php" - this page will typically be an exact replica of the page which resides at "http://www.example.com/". The simplest resolution to this problem is again to 301 redirect your default page to the canonical version of your homepage.
Trailing Slash URLs:
Trailing slash URLs can also be regarded as unique URLs by search engines - for example, the URL "http://www.example.com" can be considered different to the URL "http://www.example.com/" despite the fact that both URLs host the same page of content. As above, the resolution to this problem is simple: simply redirect all non-trailing slash URLs to their trailing slash counterparts using a 301 redirect.
Capitalisation can cause search engines to potentially interpret URLs as unique - for example, the URL "http://www.example.com/Index.php" can be considered different to the URL "http://www.example.com/index.php" (notice the lower case "I"). Again, the resolution is quite simple - simply 301 redirect all uppercase URLs to their lowercase counterparts.