Historically, Google treated the 404 (page not found) and 410 (gone) server header page status codes as the same. Both meant, the page no longer exists.
Well, that has all changed now. Google is now treating the 410 as "more permanent" than the 404. Yes, this is a minor change but it is likely an important change for webmasters to note.
JohnMu of Google said in a Google Webmaster Help thread:
I followed up on the 404 vs 410 thing with the team here. As mentioned by some others here & elsewhere, we have generally been treating them the same in the past.However, after looking at how webmasters use them in practice we are now treating the 410 HTTP result code as a bit "more permanent" than a 404. So if you're absolutely sure that a page no longer exists and will never exist again, using a 410 would likely be a good thing. I don't think it's worth rewriting a server to change from 404 to 410, but if you're looking at that part of your code anyway, you might as well choose the "permanent" result code if you can be absolutely sure that the URL will not be used again. If you can't be sure of that (for whatever reason), then I would recommend sticking to the 404 HTTP result code.
In the worst case, the 410 will be treated the same as a 404; in the best case it'll be a bit quicker & stickier :-).
So if you never ever will have a page return on a specific URL, then 410 it. But if you never will have a page return on a specific URL, then 404 it.
Forum discussion at Google Webmaster Help.