Hiding is for something that should not be on the page but should still be readable by staff — an argument you are stopping, a post somebody has been reported for. Moderators keep seeing it, marked as hidden.
Deleting removes it for everybody. It is recoverable from Admin → Deleted content, but while it is deleted no moderator sees it either.
The rule of thumb: hide when you may need to justify the decision later, delete when the content itself is the problem.