Possibility to work on several parallel branches of development of the same software. In particular, this allows:
– to correct bugs on old versions and integrate the corrections on current or future versions.
– to produce easily alpha or beta versions starting from any past version, with the possibility of integrate the modifications in any future version.
– to produce custom versions and keep them updated with last official software version (Sales department likes this very much!)