No, snapshots are not like a sledgehammer. If you are already using OpenZFS, then snapshots are for practical purposes free and easy to use.
OpenZFS snapshots, (not Oracle Solaris ZFS snapshots), can be mounted automatically as R/O. So a restore is as simple as changing directory into the proper snapshot and finding the file. Then copy it back to the original place, (if restoring it).
Now snapshots have to be managed. Some people end up with thousands and too much space taken up. Then have trouble removing the old ones. That’s the users fault, not the snapshot’s fault.
In my case, they are self managing. The single day, hourly ones are exactly 24 and the day of week ones are exactly 7. Here is the rough hourly, on the hour, cronjob;
/sbin/zfs destroy ${MY_HOME_DATASET}@${MY_DAY_OF_WEEK} >/dev/null 2>&1
/sbin/zfs snap ${MY_HOME_DATASET}@${MY_DAY_OF_WEEK} >/dev/null 2>&1
/sbin/zfs destroy ${MY_HOME_DATASET}@${MY_HOUR_OF_DAY} >/dev/null 2>&1
/sbin/zfs snap ${MY_HOME_DATASET}@${MY_HOUR_OF_DAY} >/dev/null 2>&1
The only trouble that can happen, (and it has not happened to me in the 7 years I have been using them), is that if ransomware encrypted all my files, or something else re-wrote all the files. Then the snapshot would take more than a trivial amount of space.
To be clear, OpenZFS snapshots are DIFFERENT from VMWare and Linux LVM type snapshots. Both of those are meant to be temporary, as in a few days at most. And not meant to have many of them. Both, if I understand them correctly, REQUIRE flushing the snapshot storage back into the real storage upon removal of the snapshot. That flush can take hours, even days if the snapshot was kept too long. (If the snapshot storage even had the space to maintain the snapshot beyond a day or so!)
That last is because those snapshots, (VMWare & Linux LVM), act more like transaction logs, than what OpenZFS does, (use pool free space…). While it may take OpenZFS time to take a deleted snapshot’s space and move it back to the free space list, this happens in the background. Far different than VMWare & Linux LVM.