@frankdevineMay 03.2013 — #A 301 Redirect is a command that redirects users and the search engines to a particular page. A 301 Redirect can be employed if the content of a page has been permanently moved or if you have created multiple versions of a homepage and only want the users and search engines to see one version.
The canonical tag is a Meta tag placed in the HTML header of a webpage. The tag, however, is not a redirect, so the users and search engines are not sent to another location, but a particular page is nominated for indexation with the search engines.
Its main purpose is to keep duplicated content out of the search engine index while consolidating a sites authority and PageRank into one URL.
@Steve_SmithMay 03.2013 — #A 301 redirect is designed to help users and search engines find pieces of content that have moved to a new URL. Adding a 301 redirect means that the content of the page has permanently moved somewhere else.