POP & IMAP are the protocols used to receive emails. What is the difference between between the two?
Before getting into the differences, lets learn few terminologies used commonly:
email client v/s webmail
Both webmail and email clients are applications for sending and receiving email, and they use similar methods for doing this.
Webmail is an application written to be used over the internet (through web browser), usually with no downloaded applications or additional software necessary. All the work of sending / receiving emails, etc is done by the remote server. For example: GMail, Yahoomail, rediffmail, hotmail etc.
So if I am sending an email thru yahoomail, I am telling the remote server to send the email, and the remote sever is sending the email on my behalf. what we see in the bowser is just an interface.
email client is an application installed on your system. This application interact with the remote server to perform the task of sending / receiving emails. Since its a desktop application, some of the backend work can also be performed by it (along with all the front end work of enabling to write mails etc). Microsoft Outlook, Windows Live mail, Mozila thunderbird etc are email clients.
Many webmails also provide users ability to configure their email clients to talk to the server of webmail and send/receive emails (thus by-passing the need for webclient). For example, you can configure your Outlook to use your GMail account.
POP (Post Office Protocol)
In the earlier times, when email users used to have only one machine to access the email and limited bandwidth. System used to download all the emails from the server to the local machine. email clients like Microsoft Outlook used to work in the fashion. they download all the emails from the server to the client and delete them from server.
So If I have downloaded email to one client, I cannot access the mail from other machine (because the email is no more at the server). The protocol which receive emails like this is POP (Post Office Protocol).
Note that GMail, etc cannot work using POP, because it allows users to read email from anywhere all the time.
POP3 is the current version of this protocol, and remains to be one of the most popular protocol to receive emails.
IMAP (Internet Message Access Protocol)
IMAP seems to be more suitable to the modern day email usage, where users want to read emails from multiple machines and want the access to them always.
IMAP does not delete the email from the server until the user delete them, hence a user can access same email from multiple clients many a times.
Because emails are always on the server, it may take a major chunk of the memory at server, but gone are the days when memory used to be an issue. Still some email clients provide facility to keep archive of emails on your local system.
This page shows the entire list of protocols used in email.