Mostly for the Testing and Training.
For Example.
I have team who do testing on their application, during the testing the server crashes lot of time. So just a power OFF and power ON will provide them the Server immediately with all configuraiton in please. (Yes offcourse snapshot helps, but not a right one to use in this case, because snapshot has to used whenever its necessary, also it take datastore space, with IOPs, slow performance etc)
Also same with Training for example, i will have user for practising their application, create their own user ID, profiles,play around till they do their training they can use it for a period of say 10 days or a month and once after that training, we can make available the same server to other set of users for their training, by just powere OFF and ON, Imagine if you use snapshot for 10 days or 1 month and you just revert how much time its going to take also load on the storage, consistents on the disk etc.
We're running several Windows XP and Windows 2003 server guest VMs in a classroom setting. After class is over the instructor wants to reset the VMs back to default. We initially configured the disks as independent, nonpersistent with the idea that the students could reboot the VMs during class and keep all changes made, but a shutdown at the end of class would reset the disks back to the default setup. This worked well.