I take full system backups every three hours, but the backups are thinned so that there are previous 24 hourly ones, previous n daily ones, previous m monthly ones, etc. Similar approach can be used with snapshots.
I don’t currently use snapshots—I don’t run btrfs anymore—but when I did, I did a snapshot every hour and kept them for 24 hours. But then I backed up the latest snapshot, which gives consistent backups, versus regular backups where files can change while you’re doing them. I’m nowadays using bcachefs, but I don’t quite trust its snapshots yet so I haven’t started using them ;).