Ethereum was created by Vitalik and his team as an attempt to improve the features of Bitcoin. This post will discuss the problems that Ethereum solves (this post will not cover PoW and PoS).
The main difference between Bitcoin and Ethereum is Ethereum's ability to store code that executes programs. This means that it gives any application built on the blockchain the ability to become decentralized. No super server would be necessary to store all our data but we would instead use everyone's computer to execute apps and programs.
How does Ethereum make this possible?
Ethereum uses a feature called a smart contracts. It allows anyone to code on the blockchain. Bitcoin also has this feature but its major downfall is that it isn't Turing Complete, meaning that you cannot implement certain types of logic. The main reason Bitcoin Script is not Turing Complete is because it cannot implement loops (e.g. for loop, while loop, etc.). The reason loops were not created in Bitcoin Script was because it could slow down the process tremendously because loops can run forever especially if some malicious user had the motive to do so.
However, Vitalik, the creator of Ethereum, decided that it was necessary for the language to be Turing Complete and went on to create Ethereum and Solidity.
Problem 1: What if someone creates a virus in the network?
If a malicious user creates a virus then everyone will have a virus copied on to their network. Ethereum implements something called the Ethereum Virtual Machine(EVM). Whenever someone decides to participate in the Ethereum network you actually participate as an EVM. This basically means that there is another computer(virtual machine) running inside your computer and code that gets executed in the virtual machine runs there only. So any virus that attempts to access your camera or files on your hard drive would be prevented from doing so.
Problem 2: What if someone creates an infinite loop that slows down the network?
Ethereum implements something called Gas. Gases are a price to every operation that is run on the network. This incentivizes everyone to write really good, efficient code because the more operations you have the more expensive it is to run. Now people may ask whether Ether and Gas are two different things. Yes, they are. The reason Ether is not used as a payment method for smart contracts is because the value of Ether fluctuates a lot. But there is a conversion rate for Gas into Ether which is decided by community consensus.