ERC-20 tokens (also known as smart contracts) are standardized tokens based on the Ethereum platform.
ERC-20 is the most prominent ERC standard. It was introduced in 2015 by Fabian Vogelsteller and Vitalik Buterin and enables the creation of smart contracts. Specifically, the standard defines an API for developers to issue their own (standardized) tokens. The unified basic programming structure also allows third-party developers to more accurately read information, perform transactions, and/or program third-party apps generically for each ERC-20 token.
The official current specification of the ERC-20 standard can be found in the associated Github archive.
ERC stands for "Ethereum Request for Comments." It is neither a technology nor a platform, but a technical blueprint for developers. In addition to the ERC-20 standard, there are currently eight other common ERCs: ERC-55, ERC-137, ERC-162, ERC-165, ERC-181, ERC-190, ERC-721 and ERC-1167.
Developers can either build on these standards when designing new coins and tokens, or submit an Ethereum Improvement Proposal (EIP) to establish a new ERC for a use case not previously covered.