That's exactly the reason, Peter
Communications between client and server can be one of two ways:
1) Polling
2) Real-time
Polling is the traditional method. Your browser (when you hit refresh) communicates with the server and checks if there is an update. Each time this incurs a heavy resource penalty on the server. AJAX has it set to auto-poll each couple of seconds == really bad idea for most people.
Real-time communication is a new (well, not really, but it's only now beginning to go mainstream) method where the server tells the client "Hey, you, I have a message for you - go check!". But it cannot be implemented in web-browsers because they are built around the concept of polling.
The same for your mail client: every 5-30 minutes it checks with the server to see if a new message is there. If it were done in AJAX, it would be every 5-30
seconds and prohibitively expensive for most. But mail clients can be written in XMPP (real-time protocol) to use the second method and save crazy cash.
Bottom line: hit the refresh button yourself