Le ipotesi sono 3:

1) Hanno un demone fatto in C/PHP che è sempre attivo e controlla la mail
2) Uno script PHP da mettere nel Cron di sistema che viene eseguito ogni tot minuti
3) Uno script php che viene eseguito dal mail server all'arrivo di una mail

L'opzione 3 è per certi versi la più efficace e meno dispendiosa da realizzare ma su un software da distribuire è la più difficile da implementare per l'utente ... quasi impossibile per altro se hanno un hosting condiviso e non un server dedicato.

Quanto al come farlo cerca su PEAR o phpclasses.org per pop3 o imap, ci sono moltissime classi che effettuano il login su un account pop3/imap e scaricano le mail.
L'ho implementata tempo fa sta cosa e in realtà la parte complessa non è tanto scaricare la mail quanto poi parsare gli header ed il body della mail andando a "scremare" i dati da inserire nel database. Se poi vuoi fare le cose per bene devi gestire anche gli allegati e le mail html con link/referenze a file allegati. In questo caso oltre a parsare il body devi salvare le immagini allegate e riscrivere parzialmente l'html delle mail per far puntare le tag <IMG > al path di dove hai salvato gli allegati ... non è proprio una passeggiata di salute