If your CVSROOT is say "anoncvs.org:/cvs" and your local directory you're trying to check out into is "/cvs/whatever", then CVS barfs claiming "cvs [checkout aborted]: Cannot check out files into the repository itself", but the local dir is not the repository, it is a local directory. Appears to be a not-smart-enough strcmp ("/cvs", "/cvs") check.
The extra-funny thing is that if you specify the CVSROOT with a slash on the end, "/cvs/" instead of "/cvs", then that tricks CVS into working properly. ;-)