As you know the snapshots give the ability to revert the VM to a previous snapshot.
Restarting a VM, does not revert it to an old snapshot. (it does not uninstall software that you installed, it does not delete files that you created etc.)
The screenshot that you posted in is related to "Saving state", which is different from Snapshot. You can create multiple snapshots, but are able save only the current state of the machine.
The use-cases of snapshots are numerous.
Here's one example:
Test a two scripts that have to be executed one after another for setting up an environment (installing several software packages, set up configuration files, etc.)
- Before the first script is ran, you snapshot the VM
- Run the first script
- Take another snapshot
- Run the second script
- Inspect if everything is OK and if it's not, then you can make modifications to the script, revert the VM to the previous snapshot and run the script again.
- After you verify that both scripts work as expected, then you can execute them on a real machine.
Having multiple snapshots will allow you to test just the first script or just the second script.