I had the same issue a while ago, but I decided to write my thesis about this stuff, so here's what I ended up with.
The goal was to make a comprehensive backup solution with a small budget. I worked in a PC store a while back, so I have loads of computer parts laying around, so it was time to put them to good use.
Basically my system is a combination of different methods:
-A Linux-based server at home with 6TB software Raid-6 (I also have another Linux server, but not for backup purposes)
-External hard drives for offsite backups
-External hard drive for continuous backup
-Raid-1 on the workstation for photos only (this is not yet done)
I thought about cloud services also, but since ADSL upload speeds tend to suck, I'm not going to push several hundred gigs of stuff over 1Mb line.
So to break it down, I used an older computer (Intel q6600, 4Gb ram etc.) as my server in an Antec P182 case and in fact the only thing I had to buy new was 4 1TB drives since I only had two in the first place.
With that configuration I installed Ubuntu server v. 10.04 LTS to an IDE-drive (all the sata ports were used for storage drives) and configured the Raid array with mdadm. Pretty straightforward stuff since I've never used Linux before this project. You do have to go trough a few tutorials on the way though
I'm on a Windows machine, so Time machine was out of the question, but I found that probably the closest thing to that for Windows is a program called Genie Timeline. It has worked pretty well for me and it backs up my stuff continuously to an external USB hard-drive.
Here I tend to buy a hard drive and a separate USB enclosure for it since if you get 1-2 years warranty with normal external hard-drives, this way you can get 3-5years warranty depending on the drive itself. It's usually cheaper as well and you can upgrade to a bigger drive easily if needed.
For the regular backups I use BackUp Maker which is free (but with a nagging screen, which I can live with) and it does full and incremental backups to my external hard drive which I keep offsite (Adidas network) and to my Linux server.
The computers are connected with CAT-6 cables to a gigabit switch which gives reasonable speeds for home use. I do intend to get an 8-port gigabit switch so I can try "trunking" or combining two gigabit ports to work as one on my servers and maybe also on my workstation to get even better speeds over the network.
Also I'm going to move my photos on a Raid-1 array when I have a bit of spare time to do it.
This is how I did it and I'd say it's a sufficient protection for a home user if you don't mind "getting your hands a little dirty". It also helps if you have older computers around that you can put into good use like I did.
If you are a professional I think you can make this kind of system work for you as it can be scaled pretty well, but you also might want to put a bit more money towards getting a more efficient solution.
Hopefully this was helpful to you.