An application programming interface (API) is a specification intended to be used as an interface by software components to communicate with each other.
An API may include specifications for routines, data structures, object classes, and variables.
An API specification can take many forms, including an International Standard such as POSIX, vendor documentation such as the Microsoft Windows API, the libraries of a programming language, e.g. Standard Template Library in C++ or Java API.
Salesforce releases a new API version three times a year.
All Apex code and Visualforce pages are run within a specific API version. This ensures "backwards compatibility," as old code is unaffected by new API version releases.
To date, Salesforce has not deprecated any API versions, but use of old versions is not recommended, as (for example) using the earliest versions bypasses validation rules.