Here are the current scheduling goals for the Project:
To release a new major release every 18 months;
To release a new minor release every 4 months;
To provide prebuilt packages for the most recent minor release of each major version;
To provide security updates and other critical bug fixes for the last several minor versions of each major version (termed security branches).
Due to the large number of possible combinations of installable versions, it is not possible to support every version indefinitely; this is due somewhat to the availability of machine resources but primarily due to the amount of volunteer effort that is available.
Interested readers should also see:
The Release Engineering Schedule
The Security Branch Schedule
These documents go into much greater depth about the background and rationale behind the decisions regarding the supported branches and the lifetime of each branch.