So, it looks as though on RedHat/CentOS 5 and RedHat/CentOS 6, useradd and groupadd will fail when used in an environment where LDAP is set up as a passwd or group database. For example, if you have something like this in /etc/nsswitch.conf:
passwd: files ldap
group: files ldap
It seems that these commands attempt to determine whether an entity exists or not before adding it. If it does exist, the command (and the addition) will fail.
I first noticed this while rolling an RPM that added a user as a part of its post-install scripts. The addition worked fine on my Vagrant machine, which was not hooked up to our directory. However, it failed immediately in our development environments (where users authenticate using LDAP).
Enter luseradd and lgroupadd!
Both of these saucy little commands come as part of libuser in el5 and el6. And both commands work identically to the regular useradd and groupadd commands, excepting the fact that they ignore non file-based passwd / group databases, that is!
Whew! Saved me from having to jerry-rig something ugly.