404 says 'not here' and promises nothing — it might be back tomorrow. 410 says 'this is gone, on purpose, and it isn't coming back.' The spec asks servers to prefer 410 when they know the removal is permanent, and 404 when they genuinely can't tell.
Side by side
Aspect
404 Not Found
410 Gone
Permanence
Unknown — no promise
Likely permanent
Implies intent?
No
Yes — removed deliberately
Use it when
You can't tell
You know it's gone for good
Might return?
Maybe
Unlikely - spec says 'likely permanent'
What each one means
404
404 is the HTTP status code a web server returns when it can be reached perfectly well but has nothing at the address you asked for. The page isn't there — and the code deliberately makes no promise about whether it ever was, or ever will be.