I use it to set up my window manager, fonts, Vim/VS Code/Firefox plugins, configure all my tools, set up user-specific systemd jobs, ...
I recently got a new laptop and I had my perfect setup in 20 minutes (install NixOS, git clone config repo, add new machine specific config (disks), apply NixOS config).
I appreciate that it's not for everyone , but it is brilliant.
In Debian we do: apt-cache search <search string>
It gives quick results.
The equivalent in nix is (correct me if I am wrong, it has been a while since I did this): nix-env -qaP <search string>
This command takes so long to execute. On a tiny VPS, when I did this, it ran out of memory. I wish things like this are improved.
The major one: package ecosystem. Nix has the largest and most up to date package repo of any distro [1]).
Nix is already somewhat niche, but the Guix community is tiny.
They also have a hard stance against proprietary software, so many things that are packaged for Nix aren't for Guix.
Second: it's pretty slow. A lot of the Nix functionality is implemented in C++ . Guix is all written in Scheme, and uses a rather slow implementation.
The main advantage is more coherent tooling and documentation. (Guix is much younger and doesn't have decades of legacy cruft)
I have used NixOS for a while. But for casual desktop GNU/Linux users, it seem like solving a problem that doesn't exist. Have been using Debian on all my computers since 1998. Unless you are using Debian unstable and updating it daily, I hardly hit any breakage.
Servers and deployments is another story.