Whenever I need to add a user to an Ubuntu based box, I can NEVER remember if I want to use adduser or useradd. I always remember that one of those commands will create the home environment, set a password, and more. The other one, just adds the user to /etc/passwd. I often want the command to set up the environment, so what is the difference?
useradd is a binary.
adduser is a perl script that is Ubuntu based. This is the script that will actually do all of the work to really create a good, ready to use user.