What you're talking about is called an incremental backup. Lots of programs can do this including the backup program provided with Windows - http://www.argentuma.com/backup/software/windows-backup.html
I prefer a command line utility also provided in Windows Vista and 7 called Robocopy - http://ss64.com/nt/robocopy.html and http://www.computerhope.com/robocopy.htm
If you're using XP then you need to download the Resource Kit from http://www.microsoft.com/en-us/download/details.aspx?id=17657 If you don't want the rest of the Resource Kit then install it, copy robocopy.exe from System32 then uninstall the entire kit.
you can run robocopy from the command line but it's easier from a batch file. Choose the options you want and write the command to a plain text file. Save the file with a .bat extension. You can set a time to run the batch file using Task Scheduler - http://windows.microsoft.com/en-us/windows7/Schedule-a-task - or by simply running the batch file whenever you want.
Here's the batch file I use for my backups...
robocopy c:\Users\brisray e:\brisray /e /XA:STH /r:0 /XF *.bak *.bkp *.tmp /XD temp* appdata /LOG:"c:\users\brisray\backup.log"
Here's what it does...
robocopy - the name of the program to run
c:\Users\brisray - the directory it's going to copy
e:\brisray - the directory it's going to copy to
/e - copy all subdirectories
/XA:STH - do not copy hidden, temporary or system files
/r:0 - do not keep retrying if a copy fails
/XF *.bak *.bkp *.tmp - do not backup files with the extension bak, bkp or tmp
/XD temp* appdata - do not backup files from the temp or appdata folders
/LOG - create a log file showing what was copied, what was not and show what is already in the backup
It looks complicated but it really isn't. The first time this is run it may take a while because it has a lot of work to do. After that it is blindingly fast - much faster than most other backup programs.
EDIT: There is another good reason to use robocopy over some backup programs. Some backup programs fail when they have to copy directory structures more than 256 characters long - this is a problem with the Windows API (application programming interface). Because robocopy uses the old DOS API it can handle directory structures up to 62,000 characters long. This is why it is often used to backup servers.