A "301 redirect", or just a "301" is a way for a web page to redirect your browser to another page. Named after the HTTP code, a 301 tells the browser that the page you request has permanently moved to a new location. Contrast that with a 302, which means that the page has temporarily moved, or the familiar 404 page not found.
Search engines such as Google interpret these two codes very differently. If a link points to an old page, and that page were to disappear (404) or move, the value of the link is wasted. A 301 tells Google to preserve the link value and pass it to the new destination. Eventually, if all goes well, Google will replace the old link with the new one in it's index.
This is useful in several cases. You should have picked a side in the www vs non-www war, and 301 one to the other. If you have multiple domain names (a .com and a .net, for example), you can send all .net traffic to the .com. Or, if you change domain names, for example, you can 301 all your old links to your new ones. Old links from a previous version or design of the site can be redirected to the new ones. Hard to type or easily misspelled words can be sent to a more search engine friendly destination ("/seo" can send you to "/search-engine-optimization").