Advantages of Database Snapshot
A snapshot is great for these scenarios where you might have used a database backup in the past:


before doing database schema upgrades    
before running adhoc data manipulation queries   
maintaining a historical snapshot you might want to analyze later   
materializing data on standby servers


In some of the above scenarios, a transaction is a better option to automatically roll back from problems, but there are sometimes cases where the query might succeed but have unintended/unforeseen consequences, so a snapshot is a good standby option to revert a bad SQL script.  Of course, if this is a live system with commits occurring actively, then you wouldn't be able to go back to the snapshot without losing any commits that occurred since the snapshot was made(another reason transactions are better protection when running sql scripts against a live system).

Since the snapshot occupies less disk space, and are faster to create than a backup, they are a better option than backups in these cases.

You would still use traditional database backups to protect against disk array failures, malware, natural disasters, etc. 

http://www.simple-talk.com/sql/database-administration/sql-server-2005-snapshots/