I used to wonder this same question and weighed guix and nix quite a bit before moving to the nix camp.
Guix on paper really sounds ideal, it feels like a more compelling design, more first principles, it's all scheme, really exciting ideas under the hood. But design intent is not a substitute for the actual user experience. IRL it's too much hassle: weak package coverage, weak ecosystem, a steep learning curve, most stuff will require work because it was designed around systemd.
Now NixOS on the other hand already has an abundance of packages and real adoption. Most setups can probably migrate to nix today with a backup of /home and a competent LLM agent, and things "will just work". I did this recently!
Add to that the NixOS ecosystem where things are fairly simple to setup declaratively and "it just works": disko for partitions, sops-nix for secrets, restic for cloud backups, microvm for light vm's, NixOS anywhere or deploy-rs for deployments (colmena or nixops4 for interconnected nodes even). You can do complex things, and your rig or network could explode and it won't matter cause you can rebuild and deploy to a new/repaired machine in minutes. Your backups could explode and all you'd lose is state.
All that is easy to have in Nix today - I know cause I literally just switched and did most of it with like 0 experience. I migrated my fairly complex setup 1 to 1 and gained a ton of useful stuff in Nix, whereas with Guix it wasn't even possible (I would have to trim or package / translate tons of stuff), nor would it have been easy, and all the cool stuff I gained with nix is either difficult or non-existent on guix, let alone mature.