Linux is probably one of the most hardware agnostic operative system out there, it will simply run, no matter where, with little issues.
To run that same desktop environment that you (probably used) to post this question on another computer you would need to backup the files composing your system, restore them to another computer and program the boot loader used to be able to use it.
This is not Windows (or similar) where a simple mess up with your graphics driver or another device driver will send you to a complete re-install.
A restore point in time is a simple backup of the files on your system, nothing else, make backups to a safe source and if something goes wrong the restore process will be a simple file copy from one point to the other, and nothing else. If you use a backup tool that calculates the diff between backups your "points-in-time" will be as small as the differences between backup points, or just use a file-system with snapshot abilities to create on-the-fly automatic file system snapshots (ZFS, BTRFS and some others do that already and are supported in Linux).
Something else that is really easy to implement is a backup on apt-get, just add a run hook in /etc/apt/apt.conf.d/99bup
containing:
DPkg::Post-Invoke {"/bin/bash /foo_script"; };
where foo_script
creates a backup of all your (selected) files to a safe place after installing packages (restore those files to a previsous version if the packages you installed are not wanted). May I recommend something like this?
Each one of us, as users and administrators, have their favourite way of doing this. If you are finding yourself overwhelm with options, the backup tool built-in Ubuntu's release will do just fine until you figure out what you actually need.
(On the risk of answering this with a question)
Why do you need more than a backup tool if your system is that easy to understand?
Huckle
is impressive. But I've same concern again that why can't linux bundle whole this bunch of commands into a dedicated recovery tool. Make that tool generic and allow all the linux flavor to implement it as per their need and specific requirement.