There are many discussions that you can read about value of creating 'versions' or 'versioning' software. More often then not, the versions (e.g. v 1.2.34) are used for marketing purposes or commercial product releases. Does the internal engineering staff pay attention to such monikers on a daily basis? Not really.
There are some instances, however, whereby knowing exactly which files on running on what server can come in handy.
I wrote this Fabric task that can be called when doing a code push. It tags the set of files with the name of the host machine the deploy is going to + a unique time stamp. It also creates a 'tag' file which contains what branch of the code was used for this deployment.