ERC20 is the most common type of tokens currently available on the market. It was first proposed in November 2015. Since then overall level of proficiency has increased in the ethereum community, and in March this year github user Dexaran proposed ERC223 token standard. From the developer point of view it's easier to program around ERC223 standard. But what does it mean for the consumer?
Handle incoming transactions in smart contracts
ERC223 provides a consistent way to handle incoming token transactions in smart contracts, empowering developers to create more innovative protocols.
Because ERC223 makes developers handle incoming transactions explicitly it protects consumers from sending tokens to a smart contract that doesn't support them. So far, this issue has resulted in more than $400,000 in various tokens to get irredeemably lost. With ERC223 this problem is in the past.
ERC20 prescribes a pull mechanism for retrieving the funds, especially when it comes to dealing with smart contracts. This means you have to pay the gas fee twice: first time to approve the transaction, and the second time to actually receive the funds. ERC223 manages to handle transactions without going through this lovely puzzle, so you only have to pay the fee once.