THere is no such thing in Illustrator. You can just go back step by step using Cmd (resp. Ctrl) + Z
I make duplicate artboards and the content to make new variations that way.
And save them all periodically.
This is a long outstanding feature request of mine that I have argued for many times and at one time was hopeful it would be implemented the snap shot you suggest should be easy to implement it just makes a copy and stores it sort of like smart object.
You should propose it on the feature request page I will do the same in a couple of days.
The proposal I made was also for and object by object history which I just could work like a snap shot approach better than nothing.
The snap shot approach is very good.
You have a very good idea.
The Macromedia-aquired products have History, Flash and Dreamweaver, and it seems they might have code that could be used for Illustrator.
Or, the way Illustrator is set up code-wise doesn't lend itself to History and the aforementioned products were designed from the ground up to have History. Maybe that is why it doesn't have this feature, unlike InDesign, where the undo command allows two plug-ins from outside vendors to do just that!