The disadvantage of using git describe at build time is that it only works within a Git repository. Once a release is created you are building from a tarball and so all the data has to be in the tarball. To have different build strategies for "from repo" and "from tarball" is more complicated than ensuring the file and the git tag of the repo are in harmony.

Unless I am missing something.