I just read in Wikipedia about the 410, and the difference is that in case of 404 the resource does not exist and never existed. 410 says the resource existed in the past but doesn't exist anymore and it's not always available.
For more info HTTP Status Codes