One thing I like about using rsync to incrementally update is that it gives a positive indication that all the files I think are backed up really do exist on the destination. It also gives some insight into which file change from update to update. There's a chance that if I do some sort of "oops" mistake, like accidentally deleting or moving a directory, I'll notice it when rsync runs.
That said, for my main server I like having a completely live backup system, not just a copy on a hard drive. That means an entire second system, with eth0/eth1 configured (two MAC addresses each, so the drop-in replacement functions with identical iptables etc). Same IP address, so the backup system is connected to a "branch" of my network behind another computer acting as a simple router.
That way, if my main server has a failure, I can drop in my replacement system and be back up and running in a couple minutes; I can then figure out what to do with my main server without time pressure.
This is not an "enterprise class" solution. It's just good enough for my personal home network. I still have to physically swap ethernet cables around to drop in the replacement. But I'm okay with a couple minutes down time (or more if I don't notice the failure, obviously).