Why installing old versions of OS?
Why there is a long list of OS for installing on servers in VPS packages?
The provider may only update their VPS packages periodically. Maybe they are sloppy, or behind the curve, maybe they are waiting for the upstream provider to deprecate older versions of the VPS service. They may not see any value in removing older versions of the software from their list.
Normally, the latest version of a software is the best (due to fixed bugs and new features).
This is often not true. The lastest version of a software has often undergone far less testing then an older piece of software. Many sysadmins prefer to install what we call "mature" software, instead of the latest and greatest.
Here are some examples:
- Microsoft Windows Vista was known for being far less stable then Windows XP
- Apple Lion has a reputation of being far buggier then Apple Snow Leopard.
- Google for "Ubuntu 11.10" and you'll find many complaints about its instability.
That said, it is wise to keep up to date on patches for your current revision of the operating system. CentOS 5.7 does fix many bugs and security vulnerabilities which were present in CentOS 5.5 and earlier.
When Ubuntu 11.10 and Centos 6.0 have already been released, why people are interested to install older versions such as Centos 5.5, 5.0, 4.0, etc (or Ubuntu 10, 9, 8)?
CentOS 5.5 is a bit old, but the 5.x branch is still current (5.7 was released in September 2011), and is probably one of the most common Linux installs in a Server environment. It's probably far more common then CentOS 6, due to the difficulty of migrating existing systems from CentOS 5 to 6.
Bleeding edge is not always the most stable is a great reason. In the case of Ubunutu the latest versions are supported for 18 months at a minimum. Where LTS versions are supported for five years (server edition) and soon to be 5 years (both desktop and server) with 12.04.
Ubuntu LTS Wiki
Another good reason may be for developers, who need exactly same testing environment as the production environment. They may also be interested in installation of these older versions into virtual machines in order to test their software on various versions of the same distribution.
Along with the reasons mentioned by others, it is sometimes the case that certain software needs an older dependency to run. From experience with CentOS, I know that files get moved from one package to another between major releases. Sometimes, a file is removed from a package and not put in another one. In most cases this is because the file has been superseded by a better option or because it was never any good in the first place. Many developers don't want to look for the new package or rewrite perfectly good working code to work with the preferred alternative. In that case, a developer will limit what versions of dependencies they will allow (it is often done proactively, just in case).
It is, in many cases, a nightmare to try to downgrade the dependency package, especially if the package is depended upon by core system components.