You see programs or games have versions displayed such as 1.2.5 (Minecraft), Version 3 Build 3000 (Sublime Text 3), or 1.9.2a0 (Python's Pygame).
How do these system work and how are they measured?
To be honest, they're pretty much arbitrary, and depend entirely on the whims of the developers.
However, there are several common conventions that are followed by developers, with the most popular being in the form major.minor[.build[.revision]], such the Minecraft 1.2.5 example. This convention can be used to communicate the significance of a change; for example, a major revision may break compatibility, while a minor revision might include new features, while a new build might contain bugfixes only.
Lots more info in wikipedia: https://en.wikipedia.org/wiki/Software_versioning.