Snaps are self-contained, separate from the system. No complex dependencies, and no interfering with each other. Whichever system you’re running, a snap will work the same way.
Not only are snaps kept separate, their data is kept separate too. Snaps communicate with each other only in ways that you approve.
Updates are automatic, and download only what’s changed. You can test alphas/betas if you want, switching back to stable at any time. And any update can be reversed.