I had it setup on one of my home servers for over a year, basically it makes and prunes snapshots on a schedule.
I’ve had a lightly corrupted btrfs system but a snapshot was readable and I used it to rsync the system onto a new drive and reinitialize the original one in much less time than it would’ve taken me to reinstall.
I don’t hate it, or love it. I believe it adds more cognitive load than it removes and therefore shouldn’t exist, let me explain:
You end up having config files with policies and a command line interface with flags, to use it, you need to know how snapshots normally work, and how to use snapper, and once in a while, how to clean up after it.
Without snapper, you end up having to know how snapshots normally work, how to use builtin snapshot commands, and that’s it.
On balance, snapper provides and abstraction that doesn’t decrease as much complexity as it introduces.
Having a command line utility that takes in a list of timestamps and outputs ones that should be kept or deleted would have been a more useful thing to provide than an entire snapshotting suite.