Nice back to basics question.
Unfortunately, knowing what the isolation levels are has never seemed to make people understand when to use which of them. Using read committed when what is needed is repeated read or serializable is the most common error, but using red uncommitted when it's totally inappropriate is almost as common. Also, most people seem to think that snapshot implies serializable, although it clearly doesn't.. Perhaps because they think that snapshot is a version of "optimistic locking" and know that there is a way of delivering serializable and think that that means everything which might be described as optimistic locking delivers serializable. In fact the MS snapshot isolation level is somewhere in between ISO repeatable read and ISO serializable, not the same as either or them. Maybe the fact that read committed snapshot is not a separate isolation level, but a mechanism for providing read committed isolation makes people think snapshot is just a mschanism too, not a separate isolation level.
Incidentally, I find it slightly disappointing that MS haven't provided an optimistic locking mechanism to provide serializable isolation, although how to do this has been known for a couple of decades or more; maybe they've found it doesn't enough performance over the current serializable method to be worth doing.