Stack's Nix integration, when enabled, implies --system-ghc but does not imply --no-install-ghc.
In principle, a user-supplied shell.nix file might not put the needed (specified) GHC version on the path in the Nix environment without the nix-shell command failing. With --install-ghc, Stack will go on to try to install the specified GHC version.
Elsewhere, @chreekat has reported that he has experienced this.
Is --install-ghc a sensible default, when Stack's Nix integration is specified?