Generally system restore points are to bring the OS, system files, registry etc, back to a healthy period before an issue or before malware in some cases. Its best NOT to have personal data as part of restore point because if set up this way all data newer than the restore points creation would get wiped clean in some cases. I got bit using Symantec's GoBack and losing personal data. The good thing is the built in Windows restore I haven't lost data on yet. *Also its best to have an external backup of important data. Such as either an external hard drive with a copy of your data which is on your drive D: and back it up in intervals as needed. I use the following command which can be added to a batch file to keep my external hard drive up to date with data from my system.
xcopy C:\2013\*.* F:\*.* /s/d/y
your backup routine to the external or thumb drive large enough to take the data could be written as
xcopy D:\*.* F:\*.*/s/d/y
which assuming your F: drive is your external drive with E: as single DVD Rom, but you can change this to any letter that your external drive is at. The /s/d/y switches will perform this xcopy routine populating your external hard drive with an exact copy of the contents of D: and each time this command is run it will only copy over the changes ( according to date/time stamp ), so if you have for example 742GB of data, and only 329MB has changed since the last backup to external, this xcopy routine will compare your D: drive to the external drive such as F: and it will only copy the newest data to the external since there is no sense in copying over data that hasnt changed since the last backup to external. Basically the very first backup takes a while if there is lots of data, but backups there after are pretty quick if not much has changed. Another reason why I like this xcopy routine. ( Also to note Robocopy has replaced xcopy, BUT xcopy is still functional, so I continue to use xcopy with my Windows 7 system )
The only catch to this is that if you delete data on your D: drive, you will still retain a copy of it on the external. This instruction is meant to populate the external, but not perform a cleanup to make it an exact match for files deleted on the D: drive to then match to the F: drive with those same files removed.
I generally like this populate with data without cleanup to external drive as for it has saved me a few times in the past when I deleted a project and then realized I needed to look back at the project. I am able to attach my external and navigate to where it is or search for the file and get to it. That is why I dont use backup programs or the built in backup feature of windows, and stick to useing this simple command which can be added to a batch file and able to be double-clicked and update the external as frequently as needed.
Also using this backup method, I can keep my most important data to have immediate access to in the fastest manner that is frequently used etc such as music always on the local machine, while data that is not crucial to being readily available on the local machine such as a bunch of family vacation videos, I can delete the video data from my C:\2013\ folder to free up my space on my C: drive which I have been hovering around 120GB free on for newer projects to use that space. My external which is a 1.5TB paired up with a system with a 500GB HDD gives me room to potentially hold almost 3x the capacity of what my local machine can hold in archived data with my local machine running on the most important data. And if I want to view the vacation at disney with my daughter enjoying herself and state of shock when someone in a micky costume walks by her and waves etc, its easily accessible on the external hard drive within a few minutes of setting up the drive and getting it connected.
I have since gotten a 2nd external to use in rotation with the 1st so that I dont have all my eggs in 1 basket. That is if my single external died or got infected somehow, without the 2nd drive potentially clean, I could lose all my data. So I have a pair of externals now that get updated on monthly rotation. *Reason for monthly rotation is to protect against trashing data on 2 drives if I ever had an infection that wasn't caught before the backup. Generally I have been good at not getting virus's, but in the past I lost a bunch of data due to a virus back in the days of Windows 3.1 on my 486 and my backup floppies of my data got trashed by getting infected since the minute they were inserted into the floppy drive they immediately got written the virus to them ( unless the lock tabs were set... well mine didnt have the lock (read-only) tabs set for write protection and so they got trashed. I have ever since implemented a backup with multiple copies of rewritable media that are in a rotation. And backed up my most important data to DVD-R discs to be added to a shoebox archive.