I would use robocopy over xcopy. It will automatically skip identical files that already appear in the destination path.
robocopy <source folder> <destination folder> <files> <options>
1) Simplest example:
robocopy c:\users\username\pictures e:\picturesbackups *
2) Include subdirectories including empty ones:
robocopy c:\users\username\pictures e:\picturesbackups * /E
3) Check the source directory for changes in a minute and if more than one change has occured, update target directory:
robocopy c:\users\username\pictures e:\picturesbackups * /E /MON:1
So this latter command will run continuously and will keep the backup drive always in sync. In reality, you probably want to create a scheduled task that will run the second robocopy command once per day.
Here's a useful article on robocopy:
http://burpee.smccme.edu/studenthowtos/robocopy.htm
The one time I tried synctoy, was the last time. It wasn't that amazing.