OK, I've been using GoodSync, but on my latest copy, it seems incredibly unreliable. Seems to hang. Of course I'm trying to copy a terabyte or more of my personal photos, so maybe this is OK. But I'm back to using Rsync. Here are some notes:
The most basic usage is from one directory to another. The confusion is of course all those flags and the trailing slash or not. The command below says -a for archive and -v for verbose. Personally I like --progress as well so you have some idea it is actually moving forward.

rsync -av --verbose /Volumes/HardDrive/Pictures /Volumes/Harddrive2

This basically says take all the files from HardDrive in the Pictures directory and put them into a new Pictures directory on HardDrive2. Note the syntax is confusing because you basically are one directory level short on the destination side. If you think about the syntax for cp is the same, so you say:

cp /directory/file /directory2

And this copies the file into directory2, so it is consistent, if a bit weird.
Also for these huge copies, you probably want to run the -n for --dry-run so you can see what it wants to do and the -i so you get a change summary of all your updates.
So the full form looks like:

rsync -avi --stats -- progress /Volumes/HardDrive/Pictures /Volumes/HardDrive2

via Greg Smith's Note Magnet: Getting started with rsync, for the paranoid.