This is a question someone asked recently. And right so! To the seasoned eye it looks like a mix of different technologies just randomly mixed together. For beginners it's extremely hard to keep these things separate at first.
Let me quickly answer it:
- Ethereum is usually referred to as the Blockchain following the Ethereum Protocol. The Ethereum Blockchain is a network of nodes generating and exchanging blocks based on a specific protocol, the so called Ethereum Protocol. All nodes in the network must understand this protocol.
- Chaincode is similar to Smart Contracts which are written in Solidity. But Chaincode is used on Hyperledger, whereas the term "Smart Contracts" is used on Ethereum.
Solidity was initially proposed by Gavin Wood in 2014 and then developed by the Ethereum Core Developers. It is object-oriented and used to implement Smart Contracts on various Blockchain platforms.
Ethereum was proposed by Vitalik Buterin in 2013. The Blockchain went live in 2015 and was funded through crowdfunding. The Ethereum Main-Net is a public, open-source platform with scripting functionality via the Ethereum Virtual Machine. Ethereum runs using the Ethereum protocol which can also be used for private or permissioned blockchains alike.
I hope that sheds some light onto these things. If there is anything you're missing, let me know in the comments!