301 redirects are useful for numerous things. If you change a post slug is WordPress, then you can place a 301 redirect so anyone going to the old URL will be redirected to the new one. This had the added bonus of letting search engines know (when they re-crawl your site) that they need to update the URL they have stored. Others use 301 redirects when they use affiliate links, so no PageRank is passed on, and so if the affiliate URL changes, they can update their links by just changing the redirect target.
There are plenty of ways to do 301 redirects. You can use the PHP Header() command, you can edit your .htaccess files (using the mod_rewrite feature), etc. Mod_rewrite is generally the most versatile method, but it’s a big pain in the neck.
The Urban Giraffe blog has released a neat plugin that handles all of this for you. Their 301 redirection plugin makes it insanely easy to add custom redirects. I’d thought of writing a plugin like this before, but it looks like they beat me to it. Take a look.