This wouldn't be an issue if I locked my computer in a safe, but the rest of the system is changing underneath me: I may have a new laptop, a new CMake version, a new Qt install location, etc. Having everything managed through Cargo does a great job of isolating me from those kind of changes.
Just in case you are unaware, these build issues are entirely solvable by defining a Nix flake for your project, resulting in a repeatable, reproducible build every time: