Snapshots can be useful for accidental file deletions, ransomware and failed file migration / cleanups. As Whattteva said, they take very little space until their is a change in the parent dataset.
In some exceptionally rare cases, like media pools or other static data, you can get close to 100% utilization. This comes with the potential for issues. Their are ways to mitigate the resultant problems.
Like make a dataset with 10MB reservation, but keep it empty. This is in case you fill the pool up completely, you can remove the reservation and suddenly have enough space to clean up.
Or, when dealing with media files, you put the files on this media pool in largest to smallest order. This can help keep fragmentation down, and allow ZFS to find space easier towards the full mark. But, remember doing so, the last files can be more fragmented, thus slower to access. This might not mater for simple DVD or Music files, which would be smaller than Bluray / HD video files.