ERC-721 (Ethereum Request for Comments 721) is a standard for representing ownership of non-fungible tokens with each individual token unique and verifiable on the Ethereum blockchain.
The ERC-20 token standard is best suited fungible tokens (i.e. a token that can be exchanged for its equivalent and still holds the same value) by simply identifying differences in wallet balances. ERC-721 smart contracts, on the other hand, maps a unique token ID to an owner rather than having to check balances. Having multiple NFTs would mean they are individually unique and their token IDs point to different owners.
Digital items such as photos, audio, collectible cards, and other types of digital files are usually not directly stored on the blockchain as they may exist in large file formats and sizes. For example, digital collectibles such as baseball cards, are hosted somewhere off-chain, however, information such as the ID associated with the baseball cards, some metadata containing links to external resources that stores the baseball cards, the hash of the baseball cards etc. are stored on the blockchain and tied to an owner, all facilitated by the ERC-721 standard.
The problem with ERC-721
The problem with ERC-721 is that each contract can only be used for one specific type of NFT.
For instance, deploying an ERC-721 token contract to host a seminar where tickets are to be associated with individual seats in the event hall is achievable with all the different seat IDs mapped to the attendees that purchased the seminar ticket, however, the same ERC-721 contract cannot be used for other seminars despite being similar events.
This ERC-1155 standard is an improvement on the shortcomings of the ERC-721 as the ERC-1155 smart contracts standard supports multiple types of NFTs within the same smart contract with the possibility of adding other NFTs in the future.