The capabilities of NixOS for controlling the state of your system are breathtaking. For example:
* The configuration of your entire system is described in one, compact file and it can be reproduced at will on any other machine from just this one file. No more editing a dozen different configuration file formats in /etc!
* You can roll back to any previous state of your system (modulo garbage collection) without having to use a particular filesystem such as ZFS.
* Packages will continue to work indefinitely regardless of updates to the rest of the system, because they reference the exact versions of all the dependencies they were built against.
Packages don't exist for some obscure or unusual things (although it's very easy to create them yourself).
Vendor-supplied binaries (debs and rpms) don't work out of the box, although there are tools for wrapping them as NixOS packages.