Hard bounces occur when an email address doesn't exist or is invalid, resulting in a permanent failure. In contrast, soft bounces are temporary failures, such as a full inbox or a problem with the recipient's email server.