Why is there usually a delay of 5-10 minutes for emails to be sent out of the system?

Emails are queued and sent every 5-10 minutes because we don't want the event that triggered the email to wait for the actual email to be generated and sent.
Some emails, like approvals, take a fair amount of processing to figure out who should get them so it's really a function of the email process that is set up.