Here’s an example where it really mattered: Packages in overlay arguments are different from regular package-set?
Stuff like system and stdenv are involved in bootstrap, so prev.system and prev.stdenv are not things you should rely on.
And in general it’s always a best-practice to use final in an overlay, except for obvious infrec scenarios, e.g. for foobar = prev.foobar.override { ... } where you’d have to use prev as final would infrec. You want your overlays to actually take effect - final is the nixpkgs instance that ensures that.