A 301 redirect is a permanent server redirect, i.e. a web page URL change of address.
301 redirects are typically used when relaunching a website, so that you can redirect visitors and search engines to the new pages.
This can happen when you change your Content Management System (CMS). For example, if you change a website over to WordPress, the URL structure would be different to what you had previously.
The 301 status code is an HTTP response. It means that a URL has moved permanently. Therefore 301 should only be used for permanent redirection.