Essentially this is a very straight forward question.
A data center is quite literally a building which is specifically built to house servers / telecoms equipment. A web host "usually" is just a company that offers website hosting, they more than likely have a server rented within a data centre!
A data center is usually providing unmanaged dedicated servers and clouds like OVH.com. It's cheaper to do business directly with them but you are by yourself to manage it and install your software on it. They are network admins not web technicians.
A web host is usually leasing their dedicated servers or clouds from a data center and they resell it including the management of the server or they install cPanel to sell website hosting or SolusVM to sell VPS from it.
The data center take care of the hardwares while the web host take care of the softwares mostly.
Not entirely true. Some data centers rent out floor space and power. We for example, for over 12 years now, have rented space in The Fortress datacenter where we drop our cabinets, routers, firewalls, and servers in.
A data center is a centralized repository, either physical or virtual, for the storage, management, and dissemination of data and information. Whereas a server is the units of the data center who actually handles file server, web server, print server, exchange, etc.
Best analogy I can come up with is - electricity distribution. There is a grid thwt produces electricity - assume its a datacenter. Cloud is nothing but the electricity you use at home. You dont own the grid, you don't mantain it. You just pay for the number of units you consume and the service provider ensures that you get power for 99.99x% of the time.
The biggest difference between colocation and web hosting is control.While some types of web hosting, such as dedicated and managed hosting, offer a high level of administrative control over servers, you never own the equipment being used.