It’s for deployments and managing many environments/machines from a single CLI interface. You can do all sorts of things like push configs based on labels/groups, gather real-time data/logs, scale up/down. It’s great when you have a lot of VPS/VDS/VMs to manage and you’re not using a platform’s specific management tools.
I mainly use NixOS as a barebones backend, keep it as minimal and hardened as I can, then most of the projects/apps that run are done through something like Docker or k8s. So for me, it’s all about managing the underlying servers that provide the tools needed for a project to operate.
The tool itself is undergoing a pretty big redesign at the moment, but you can get the gist of it from the overview in the manual of the commands.
https://hydra.nixos.org/build/115931128/download/1/manual/manual.html#chap-overview
I spent what felt like many moons trying to compile Gentoo when I was a kid. There was only the wiki and a gritty forum for getting answers, nothing in real-time. I didn’t have very much knowledge of the kernel or messing with modules, and was certainly lost on getting a desktop environment going even after I got past the kernel part.
It was such an experience, I decided to become a janitor.
ETA: also this guy (not strictly linux, but same vibes)