READ COMMITTED SNAPSHOT
does optimistic reads and pessimistic writes. In contrast, SNAPSHOT
does optimistic reads and optimistic writes.
Microsoft recommends READ COMMITTED SNAPSHOT
for most apps that need row versioning.
Read this excellent Microsoft article: Choosing Row Versioning-based Isolation Levels. It explains the benefits and costs of both isolation levels.
And here’s a more thorough one:
http://msdn.microsoft.com/en-us/library/ms345124(SQL.90).aspx