A brief history of openHAB:
1.x
The very first versions of openHAB. Config was all text file based, and all binding configuration was in a single config file. Docs were an incomplete wiki.
2.x
Almost a complete rewrite of OH with a whole new architecture which enabled a REST API, automatic discovery of devices (Things), and support for an administration UI (PaperUI). All the folders and packages were “openhab2” to distinguish between 1.x and 2.x, making it easier to run the two in parallel on the same machine since migration between 1.x and 2.x was a very manual and involved process (see Migration from OH 1.x to OH 2 Tutorial). Eclipse SmartHome (ESH) was established with openHAB being the reference implementation.
3.x
Dropped support for 1.x style openHAB add-ons, replaced the administration UI with something more complete (MainUI). Introduction of the semantic model. Removed ESH and became a stand alone project once more.
Returned to using “openhab” instead of “openhab2” as an in place migration was much easier.
4.x
More of just a continuation and of the improvements made in 3.x instead of a massive change like a rearchitecture or introduction of a brand new UI for administration. There are plenty of new features and changes though to justify a new version.
So what does “version” mean? It means which release of OH are you running. OH 2 is a little weird as it was released separately with a different set of folders, but otherwise it is not special. OH 2 came before OH 3 which came before OH 4.