For my backups I use XCOPY /s/d/y/h/v and the /v switch with Verify On. Never lost any data from failed writes this way. I also have my Google Drive set up to sync with my cloud storage.
The cloud storage is mainly so that if there was ever a fire I would still have my data, however the data backed up is whats current to the C: drive of the system and if a file was messed up somehow its going to sync and send that messed up file to the cloud.
I have 5 USB sticks that are 64GB in size and have rolling backups where I run the xcopy on them to compare contents on the USB thumb drive with the Data folder of the C: drive and files that changed or new files created since last backup are copied to the USB stick. USB sticks are labelled D1,D2,D3,D4,and D5 and when D5 has been used and I need to run the 6th backup, I insert D1 and back it up and back through the process of using 2,3,4,5 on the next backups in that order. If for some reason anything is messed up... which is usually operator error, I can restore the file from yesterday or 4 days prior. Such as once I was half awake making changes to my worksheet in excel and hit ALT F S to save my work and the next day I opened up the worksheet and was like OMG this is so messed up what was I thinking when half awake and so I got a copy of it from the backup the day prior to restore to the Data location of the C: drive and pick up where I left off doing it all correctly this time.
In addition to this I also have 4 USB sticks for weekly backups labelled W1, W2, W3, and W4 and so every Friday when done I backup the data to that. This then gives me more depth of going back to earlier states of data as I have a month of data backed up. Rarely do I ever have to refer to this backup but its saved me before when something was altered and saved, and then more than a week went by before going back to it and noticing that there was a problem.
With these weekly backups I also connect my 4TB external HDD and it first copies the old contents from the USB stick that is to be overwritten with current data to an Archive folder on the 4TB external HDD with today's date. Then when that is complete it then runs the xcopy /s/d/y/h/v to that weekly backup USB stick. And so on Fridays there is a Daily and Weekly backup completed where say D1 and W1 have the same data contained on them and the 4TB external HDD copies data from a month ago to it prior to that weekly USB stick populated with current data.
If your backup's are system images that you want to make sure they are healthy, what I use is Macrium Reflect and I clone my Primary Hard Drive to Secondary Hard Drive. I then unplug power and data cables from the primary hard drive and boot the freshly cloned secondary and use that drive as my active drive. Then a month later or after any major changes to system that all is running well with the changes i will connect the primary hard drive and clone the secondary to the primary and then disconnect the secondary drive and run on the primary drive knowing that the prior drive was healthy when used to clone and when last used prior to shutdown and disconnect. *I also keep a 3rd drive of the initial system build clean state and place this into an ESD bag and let it rest on the bottom of the inside of the case. This way if I need to bring the system up to a clean state and dont want to reinstall Windows and drivers I can use this drive to roll back to the beginning of the build. This I have used when the system starts to get slow from software/games that was added/removed and its not running optimal I can bring the system back to a fast operating state, then perform windows updates and install whatever games and software I want to run and have far less lag.