According to Wikipedia “The 404 or Not Found error message is a HTTP standard response code indicating that the client was able to communicate with the server but the server could not find what was requested”. But that’s a tad mechanical I know. So in a more eye-friendly(!) version, here’s my take:
There are times when we mistype a Uri or perhaps the page we wanted to access might have been moved somewhere else by the time we tried to gain access. In those situations, the server returns a HTTP status code of 404 signifying that the requested resource is not available for one reason or the other. This internal error message or page for that matter which is served up by the web server is not very helpful in most cases. This is highly de-motivating from the user’s point of view for all the user wanted was the content and not the reason why the web server can’t find the page. This is frustrating for the visitors which might prevent them from returning again to your site even if that was not a fault of yours.
Hence, it would have been nicer, if you provided the visitor a landing page from where he/she could have re-searched for the page. Or perhaps you could redirect/guide them to the main page from where they could navigate their way to the desired content. This act of re-engaging the visitors ought to go a long way.
Thus, from a web designer or a developer’s point of view, although you can’t prevent the incident from happening, you still can do some sort of damage control by trying to educate & inform the visitors as to the cause of the problem and at the same time guide them towards their desired content. They are, surely, going to be grateful to you and in turn might visit your site more often as opposed to leaving your site permanently having a disgruntled feeling when confronted with a default ugly looking page.
There are literally tens of thousands of such custom made 404 error pages but here are few resources I found exemplary:
Few funny examples:
And here is a compilation of suggestions for developing your 404 error pages: