To state it quickly - Web hosting is the act of putting a website online to be accessed by other users.
What web hosting does is connect servers (powerful computers) to the internet. People can then access these servers to load your website.
Think of Yahoo. Every time you type in 'Yahoo.com' what happens is you are literally connecting to servers that host Yahoo.com.
A web host is a company that provides this web hosting service.