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 24x7. People can then access these servers at any time of the day 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.