Database snapshots were introduced in SQL Server 2005, and have been around for several years now. One of the main motivations is that you can create database snapshots to protect your database from user or application errors. It's one more weapon in your DR arsenal.
But looking at the environments I have worked in for the past few years, I don't recall seeing the feature being used for this purpose at all. In fact, I have not seen it being used for any purpose, period (other than internally by DBCC, etc). Perhaps, people should be using it, but for whatever reason they don't. Perhaps, I'm just hanging around with a wrong crowd.
So are you using database snapshots? If so, for what purpose?