Nixos-rebuild - same build-host / target-host VS use-substitutes

Could you please explain is there a difference between these two commands?

nixos-rebuild boot --build-host myremotecomp --target-host myremotecomp --flake /x/y/z#myremotecomp
nixos-rebuild boot   --use-substitutes       --target-host myremotecomp --flake /x/y/z#myremotecomp

I understand why to use build / target host. But the nixos-rebuild doesn’t complain when I pass same build and target host - is that an alternative to --use-substitutes?

Thank you.

While my attempt at the former invocation did not behave as expected, I can explain the theoretical difference as far as I understand it.

I think what needs to be understood here, is that not every derivation in a system build can be substituted. Some derivations are custom to your system. For example. the config.system.build.toplevel derivation on my desktop is currenty

/nix/store/5f6q302g1h5p4i1652jjqify644092pv-nixos-system-termitomyces-25.05.20241201.31d66ae