Although your website host will create a backup in case of system failure, you might need a backup when you’ve made a mistake yourself like deleting files or messing up the scripts on your site.
I’ve found a little freeware application called websitebackup that will download all the files from a specified FTP location to you harddrive. This way you can create a complete backup of your website on your harddrive (restore can be done by uploading the files back to your website host FTP). Just remember that you should also create a seperate backup of the database in case your site uses a database.
Axel from website2backup.com attended me on their solution which sound nice and incorporates encryption and also backups the database. Take a look at their website to check the solution. Choose whatever solution that fits your needs.