The word “hosting” doesn't describe a single service, but a number of services that offer a variety of functions to a domain name. Having a site and e-mails, as an illustration, are two separate services despite the fact that in the general case they come together, so most of the people see them as one single service. Actually, every domain has a couple of DNS records called A and MX, which show the server that handles each particular service - the first one is a numeric IP address, which specifies where the website for the domain is loaded from, while the second one is an alphanumeric string, which shows the server that deals with the emails for the domain name. As an illustration, an A record can be 126.96.36.199 and an MX record can be mx1.domain.com. Each time you open a site or send an email, the global DNS servers are contacted to check the name servers that a domain has and the traffic/message is first directed to that company. In case you have custom records on their end, the web browser request or the e-mail will then be sent to the correct server. The reasoning behind using separate records is that the two services work with different web protocols and you can have your website hosted by one company and the e-mails by another.