Backups have a few different theories on how they set about things. For my money it breaks down into two sets of two you can combine in various ways.
Whole disc
File level
Full file
Updated only
For a basic (though incredibly powerful) program there is Clonezilla,
http://clonezilla.org/ it is a great little linux liveCD you can use to back up a whole disc to files on another disc, over networks..... I use it all the time for tool type machines (all servers should be virtual these days so that changes things a tiny bit, if I did still do bare metal servers then I would still use it) so if a hard drive blows up then I just stick a new one in and fire off clonezilla and have it all up and running in minutes.
Whole disc will recreate partition sizes, boot sectors..... and stick it on a new disc. You are not necessarily limited to same size drives (you can shrink and increase sizes, also hybrid methods between disc and file levels) but it starts getting tricky around then.
File level does much as it says and mainly does files. It can still restore an OS but you might have to fiddle.
Full file. Every backup is a complete copy of everything you back up.
Updated only. You only back up the files that have changed . If I have a full 3TB hard drive then I need to find 3TB for every backup, even if only 300 megs have changed. Most big boy backup software does this as 3TB is nothing in modern computing but does add up fast.
Works wonderfully until you have a corruption in the base backup, to that end I do suggest you still take the odd full backup with your normal change/incremental backups.
Depending upon what you want this may all be overkill -- I would be annoyed but for the most part I find if you just copy the desktop, my documents (including music, pictures.....) and run a copy of mozbackup then I do not care about full backups, certainly it is a lot of what I do for customer laptops. Such things also allow me to shift to new operating systems, new computers and whatever else with relative ease vs a more conventional backup.
Likewise modern version control systems can also function as backup (especially things like git, mainly as every person that clones (arguably the basic read) it has a full copy of the whole lot), also with the added bonus of being able to revert changes and fork things when the time comes.