For backup, I'd recommend USB external drives. Have at least three of them, and rotate them every week or three. Then even if one goes out once a year, it won't cost you too much lost data. Keep the ones not in use a fair distance from the computer, so that thieves, fires and other natural disasters that get to one don't get to the other.
The price and size of removable harddrives such as this has gotten too competitive to bother dealing with any of the other classic forms of backup, such as tape drives, for all but the most serious uses.
I had terrible luck with the first generation of USB externals and so ceased to recommend them. Even now the Western Digitals don't like to be plugged into strips (an idea I scoffed at until it actually happened to me). The vendor had to twist my arm to even give this one a try. So far pleasantly surprised - it's quieter than its predecessors, too. I may just turn around on this one. It'd sure be nice not to have to deal with tape at home - it's just too expensive.
I did find out the hard way not to plug the USB HD into the USB port on my monitor. Halfway through a 50-GB copy, quittin' time, locked the workstation, and got ready to go home. As always and without thinking, before I left I...turned...off...the...monitor. Did you know you can't turn a switch back on before the electrons notice it's off?
To protect myself against malware, I've been thinking it would be nice to have a backup system where one computer does nothing except run a backup server (and should thus be immune to nasties). The backup server should enforce versioning of files in certain directories, so that if a file gets changed the backup server will keep old and new versions indefinitely; it should not be possible to overwrite the old version from the network.
I would think that such a system, properly configured, would provide considerable protection against malware and such. Anyone know of any software to help implement such a thing?
Also, are there any good programs for inventorying the contents of hard disks, including hash values for files, so as to allow a comparison of contents?