I use System Restore all the time and it does work if you understand the point of it. Problem #1 is people confuse it for a "backup program". It is NOT a full-fledged backup program and was never designed to be so.
Problem #2 is people create restore points and expect them to last forever. Understand restore points will get deleted at some point - either through space attrition (will delete the oldest files first to save space for the next RP)
or will be automatically deleted upon OS upgrades since they are particular to the OS version they were created on.
With that in mind also understand Restore Points do
NOT backup personal data and programs. That's not its role and it was
never designed to backup personals files and programs. It's role is to backup the registry and system files so that one can return to a previous state registry and system files wise.
That said, what I use Restore Points for and driver or software tests - that is I'll create a Restore Point, install a driver or software package and see how it functions, if I have a problem, I simply restore the system back to it's state before the driver/software package install. One thing to note is I don't take weeks to figure this out, I'm usually able to determine issues right away, so the restore is done.... right away, not weeks later (where I've done other stuff as well).
Bottom line... if you intend to use System Restore as a full-fledged backup, you'll be sorely disappointed as that's not it's function.
Good luck