ERC20 is a standard for fungible tokens. Fungibility refers to the property that different units of the token are interchangeable. For example, 0x is a ERC20 token. Each unit of a 0x token can be interchangeably used to pay for using decentralized exchanges built on the 0x protocol.
ERC721 is a standard for non-fungible tokens. For example, CryptoKitty is a ERC721 token. Each unit of the token represents a virtual cat with a unique set of characteristics.