A canonical URL is the standard URL for a web page. Because there are many ways a URL can be written, it's possible for the same web page content to live at several different addresses, or URLs.
This becomes a problem when you're trying to enhance the visibility of a web page in search results. One factor that makes a web page rank higher in search results is the number and quality of other websites that link to it. If a web page is useful enough that lots of people create links to it, you don't want to dilute the value of those links by having them spread across two or more URLs.
Make sure to decide on the standard (canonical) URL for any web page you care about. Use a 301 redirect on any other version of that web page to get people - and search engines - to the standard version.
For more information about why having a canonical URL is important, read: