I use two programs.
One is Stablebit Drivepool. This is basically a simple software raid. I like it because if I need more space I just plug in a new drive and add it to the pool. Bam. Done. ALso, you can tell it to duplicate everything or just specific files or folders. I have it set to duplicate my important stuff (photos, lightroom catalogs, and important documents.). I have 3 drives in the pool and it makes sure that the duplicated data is stored stored on two drives (you can also make it do triplicate or more) incase of sudden failure. They also have a program called Scanner which monitors your drives, and can integrate with Drivepool and automaticaly evacuate data from a disk that shows signs of failing. Finally all the data is stored as standard ntfs files, so if you end up in a situation where you need to get at your data but all you have is the drive (mobo died or cpu fried or something), you can plug it into any windows PC and copy the data. No proprietary programs or hardware needed.
2nd is Crashplan. I picked crashplan over backblaze because it also does local backups. If you have slow upload speed to crashplan check your settings. The default settings for compression, dedupe, and etc. are high, so your bottleneck is your cpu instead of your bandwidth. I have several backup sets. Important stuff (again photography and important docs) gets backed up to the cloud, and also to a local external drive. Less importat stuff is just backed up to the cloud. If you know someone who also uses crashplan you can use them as an offsite backup target too (and vis versa).
So I have two copies on my PC (not a real backup per say, but it protects against drive failure which is my main concern), a copy on an external drive, and a copy in the cloud.