Remember that a lot of 404's will be generated from old links. Links on blogs, links from banners or links from search engines.
Search engines might match the content they expect with the content displayed. So, if you have a site update that changes URLs, try to catch the known old URLs and display the old content. You might lose your search engine ranking if you don't.
Catching the 404 and redirecting to the expected content might not be the cleanest way to handle things but it is quite easy. Especially when you change languages (from asp to php for example).