Benefits:
* It's declarative, so no one has to run anything to get to the correct state when a dependency has changed. Open a new nix-shell and automatically get everything. It's impossible to get in a bad state because it doesn't touch your system.
* We know we're all running the same software because the build will fail if hashes don't match.
* Portable across most unix's, and windows support is in progress.
* Patching other people's code is as easy as referencing a .patch file from a nix expression. You don't have to wait for your patch to be accepted in the main project or fork the project to build a custom release.
* There's no virtualization of IO like in containers. It effectively has no overhead.
* We can easily use different versions of the same piece of software in parallel; they don't collide because the hashes don't match.
* It has a very active community. The package repository, nixpkgs [1], has 73k commits, 650 contributors, and median pull request acceptance of 18 hours.
* Our software won't silently break because one of our package managers replaced a package. We maintain a fork of nixpkgs which we rebase on our own schedule.
If you've ever been frustrated with your package manager or build tools, give nix a shot!