For a feature that isn't enabled by default, "just use Nix Flakes" hardly qualifies as best practice or even commonplace.
I've used Nix/NixOS for years and still don't have a use case for flakes. I only enabled it this week to restore some functionality to the nix command, which is still a work in progress.
Getting there was painful and required a deep dive into the documentation. In the end, it was as simple as adding this line to my configuration.nix:
nix.settings.experimental-features = [ "nix-command" "flakes" ];
The flexibility of Nix is one of its main selling points, so it's impossible to say that "everyone" uses it in a similar way. Flakes are a welcome, but disruptive, enhancement. Hopefully, the experimental phase will end soon.