DNS stands for Domain Name Servers. DNS hosting deals with directing traffic going to your domain name and is located on a DNS server that holds the DNS records that maps internet traffic to the right destinations.
The DNS hosting server points email traffic going to your domain to the email servers and it points website traffic to your web server.
Web Hosting is located on a web server where your website exists. It is the destination of your web traffic.