OpenERP has two main code branches available at any time:
Development branch (also known as trunk): this is the bleeding edge, direct from the R&D department, including almost real-time changes by OpenERP developers. Depending on the proximity of the next stable release, this branch may be fairly unstable, and is not suitable for production environments. This branch can be usually seen as alpha or beta quality. When the trunk is mature and sufficiently validated and tested, a new stable branch is spun off, corresponding to a new major OpenERP release. There is only one trunk branch per project, from which all stable branches are spun off.
Stable branch: a new stable version is released once or twice a year, when the development version is fully validated. The corresponding branch is feature-frozen, and receives only bugfixes, in order to provide the latest security patches and corrections. There can be several active stable branches at any given time, if several major versions of OpenERP are supported at the same time. Stable releases are typically suitable for production usage.
The OpenERP releases are closely related to the code branches:
Major releases, such as 5.0 or 6.0, correspond to stable branches that include a sufficiently large set of improvements and new features to deserve an increment in major version numbers. There is at most one such version per year. Jumping to a newer major release usually implies a specific migration process, as many internal data structures may have changed. Some Major releases are marked as LTS (Long Term Support), to indicate an extended support and maintenance coverage, usually 24 or 36 months.
Stable releases, such as 6.1, are published once or twice a year, and bring a smaller but still considerable set of improvements from the previous stable version. Jumping to the next stable release usually imply a smaller and simpler migration process.
Minor or Point releases, such as 5.0.15 or 6.0.1 represent periodical updates with only bugfixes and security updates. Updating to the next minor release is a routine procedure and does not imply any actual data migration, because internal data structures do not change. Point releases are usually published monthly or whenever sufficient corrections have accumulated in the stable branch.
See also the Installation section for more details regarding the update process.