I have used RMAIL for the past fifteen years or so (and I think there are highly respected persons on gnu.emacs.help who do). What I always did was have an external script get the mail from the POP server (I do not use IMAP) and write it to a spool file, say ~/mail/spool/inbox.
(setq rmail-primary-inbox-list '("~/mail/spool/inbox"))
is enough for RMAIL to find the mail. I use a self-written Perl script to do the fetching, but there must be tried-and-testing programs around (there used to be a program called fetchmail - I do not know if that is still an option. Movemail is really an external program that comes with Emacs. I am not sure if movemail does the same as fetchmail, but the above pretty much sounds like it, and that it is called from within Rmail.).
RMAIL can be a little confusing at first because there are so many possibilities of how you can use it. On the other hand, I have always been completely happy with it because of its simplicity -- I still do not even make use of all its functionality.
It is also important to note that Rmail is not "a mailer", but only a mode for reading and keeping mail. It can call a different mode for writing and sending mail, but there are also different choices available for that. Again, I use the most old-fashioned and simple one, by setting
(setq mail-user-agent 'sendmail-user-agent)
(The default is now a mode called message-mode.)
If you do wish to use Rmail, and these tips do not help you, you might want to ask for help on gnu.emacs.help. Some very impressive authorities read this list and very often provide helpful answers. The Rmail info page (C-h i m Emacs m Rmail) also explains that there is also an independent movemail program available (part of 'mailutils'), which has additional options. If the plain vanilla movemail (the one which comes with Emacs) does not work for some reason, maybe the mailutils one can.
The bottom line is: Rmail works. It sometimes requires some fiddling, but once it works, it works.