With NixOS you can upgrade your entire OS and if you don't like it roll it back like nothing ever happened. You can also replicate your entire machine by copying your configs over to another computer, running the install, and then copying over any files you have in your home folder and you will have reproduced your desktop.
You can also very easily use a different version of a packaged app by adding an override in your config. This is useful if you want bleeding-edge features or if something is broken. Also every package is also a development environment, so you don't have to worry about setting up a dev environment to hack on stuff.