Why do I have to drop a snapshot in SQL Server 2012 to restore a database?
Actually, you did have to drop the snapshot before the restore.  Here's the Books Online post about it:

http://msdn.microsoft.com/en-us/library/ms189940(v=sql.105).aspx

In particular, "The database cannot be dropped, detached, or restored."

You might have been using a restore script or tool that automatically dropped the snapshots for you.  (My own restore database script does that - checks for snapshots first and deletes 'em.)