They cover a few things -- most notably they replace channels, which are imperative.
True. I never considered channels imperative, but rather a purity issue. But I guess this is a matter of perspective.
Unless I'm way off, you can also install user software through flakes if you add them as inputs.
I don't know about this, but that doesn't mean anything.
You can also pull a repo and 'nix run .#software' from the command-line, without entering a shell.
True, though this by default only runs the default binary, and you're probably in a shell anyways, so it doesn't save that much. Also that output is, to my knowledge, not protected by garbage collection. But my knowledge of any imperative stuff is minimal, so I don't know if that's the case there.