There could be many explanations for a message not being where expected.
1. It was never actually sent. Many people do not notice that a message is sitting in their outbox, unable to be sent perhaps because of
- a typo in the address or
- malformed header or
- blocking earlier message or
- changed credentials?
2. The mail client successfully sent it to the SMTP server, but the SMTP server has not been able to forward it on to the next hop.
- The SMTP server might be so busy that it has a backlog of messages to process, there might be a delay of several hours.
- The SMTP server might have tried to send it, but the receiving server ?could not/would not? immediately accept it (deferral). The sending server will continue to attempt delivery, and most servers will do this for up to two days or more before bouncing the message back to you as undeliverable.
- The receiving server may have rejected the message outright (blacklisted, spam scan, mailbox full, non-existent user) and the sending server either cannot or will not send a bounce message back to you.
3. The message was accepted by the receiving server, but?
- The receiving server is backlogged and the message is sitting in a queue waiting to be processed/delivered.
- The message was flagged as spam and dropped. This is bad practice since the message should have been rejected outright, but many servers do this.
- The message was somehow undeliverable and either the server is configured to not send a bounce message, or the bounce message itself is undeliverable.
4. The message was delivered somewhere in your account, but?
- Your e-mail client has not properly synced with the server
- You are not looking hard enough
- Most usually one (of potentially many) spam filters trapped it
- Also perhaps the email is not ordered in the way you expect it
- Perhaps someone else got to it before you, or
- You have another client (e.g. phone) that is setup to use POP and deleted it after collection