The term “hosting” doesn't describe one service, but a set of services that provide numerous functions to a domain name. Having a website and e-mails, as an example, are two independent services though in the general case they come together, so most of the people think of them as one single service. Actually, every domain name has a several DNS records called A and MX, which show the server that handles each particular service - the former is a numeric IP address, which defines where the site for the domain name is loaded from, while the latter is an alphanumeric string, which shows the server that handles the e-mails for the domain. For example, an A record is 123.123.123.123 and an MX record is mx1.domain.com. Every time you open a site or send an email, the global DNS servers are contacted to check the name servers that a Internet domain has and the traffic/message is first forwarded to that company. In case you have custom records on their end, the web browser request or the e-mail will be directed to the correct server. The concept behind employing separate records is that the two services work with different web protocols and you could have your website hosted by one provider and the e-mails by another.