Section 18.104.22.168 explains how the rollback feature works but unfortunately contains a line which is totally incorrect and starts to confuse quite a few people. The FreeBSD forums have seen a few threads asking about this.
I quote: "Taking a snapshot of the current state of the dataset before rolling back to a previous one is a good idea when some data is required later. This way, the user can roll back and forth between snapshots without losing data that is still valuable."
This is total nonsense. And to add insult to injury the rest of the chapter actually showcases this itself through an example followed by this line: "This warning means that snapshots exist between the current state of the dataset and the snapshot to which the user wants to roll back. To complete the rollback, these snapshots must be deleted.".
This section _is_ correct: you cannot roll back to an earlier snapshot without deleting any snapshots in between. Therefor it's impossible to "roll back and forth between snapshots" as hinted at in the first quoted line. It's totally nonsense: the moment you made that snapshot you're going to try and roll back to a snapshot before that one. Hence: there's an in-between snapshot which needs to be deleted.
Suggestion: remove the offending 2 lines. It is NOT a good idea to make a snapshot before doing a rollback, because you'll only end up having to remove that snapshot in the first place.
I'd like to reference this thread in the forum which showcases the confusion:
Also please check the link shared by jpierri which shows another example of a confused user:
I think that section is doing more harm than good right now.