If you want a totally flawless backup, you could use my method.
-Absolute perfect byte-for-byte backup.
-Can be restored to an exact point
(for example if you backed up, upgraded operating system and found it did not work, you can go back to the exact point you were at when you backed up)
-Compressed with very fast decompression or very good compression ratio
-Cannot be backup up while using Windows
-Is not a differencing backup
-Generally must have an equal or larger sized storage disk to contain the backup
-You must be more technically literate, as there is no GUI. (though you can use one if you want)
This works particularly well if Windows is installed on an SSD, and you have a large HDD for data.
Download a Linux distribution. I use ArchLinux.
Boot the operating system in Live mode.
Locate your system partition with
Mount the location where you wanna save the backup.
mount /dev/sdXn /mnt
Then using the Unix command
The backup begins, and will be a perfect image compressed with a fast modern compression algorithm.
dd if=/dev/sdXn bs=10M | lz4 -v > /mnt/path/to/backup.img.lz4
To restore the image you use
When finished, unmounts your backup store location, and/or simply reboot.
lz4 -d /mnt/path/to/backup.img.lz4 | dd of=/dev/sdXn bs=10M
Online backups (online meaning when using the operating system to be backed up, not meaning the internet) are great and all but all of the Windows tools I've seen are limited in that they don't back up 100% of everything, and cannot help you much when your filesystem gets corrupted. You still gotta reinstall and set everything back up.
Other software that makes full image backups always seems to have some lame catch (proprietary image format, must buy pro version to restore more than 10GB, cannot backup X because of Y limitation). Perfect image backup with 'dd' is the most thorough backup you can get. And you can even mount the backed up image from within windows using ImDisk.
With ImDisk you can actually get a lot of the same results, but that's out of the scope of this post.