Not only great for a dev shell, but also has a killer feature in nix-shell shebangs. So I can fully encapsulate requirements of a helper script in the file itself, and not dirty the local system with, for example, `jq` just because I want to parse JSON.
One use case I liked for nix-shell shebangs was having a Python script which used Jinja templates.
By adding a line like `#!nix-shell -i python ...`, it means that I could just run this Python script with "nix-shell generate.py".
It's not that installing jinja itself is hard.. it's just that it's a nicer "Developer Experience" to jump back into the project without having to fiddle with re-installing stuff.