If you have an old, well established site, it’s likely that there are dozens, if not hundreds, of inbound links across the web pointing to the homepage and other pages on your site. You may be surprised by just how many of those links are dud; caused by typos, or links to pages that no longer exist (or perhaps have never existed).
Users may still end up arriving on your 404 error page, but a significant chunk of the SEO juice will be lost if Google does not see a congruent match in content between the source page, anchor text of the link, and the destination page.
301 redirects placed in your .htaccess file can help fix the issue, helping both users and the search engines find what they were looking for. In addition to typos, you’ll want to fix-up deleted pages too, by redirecting users back to an approximately-similar page, or just the homepage.
Both Google Webmaster Tools and AdSense provide a list of crawl errors; showing pages that Google tried to crawl but was unable to do so. Simply work through that list, matching the erroneous URL with the correct one, and then appending that to the .htaccess document. Webmaster Tools reports the source URL of the link, so you could plug those into Open Site Explorer (or similar tool) to then prioritise redirects by the SEO-weight of the links.
I’ve scheduled a reoccurring monthly task to update the list of 301 redirects. It’s hard to measure what impact it makes, but it intuitively makes sense as a worthwhile endeavour.