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