The term “hosting” doesn't describe one service, but a set of services that provide various functions to a domain. Having a site and e-mails, as an example, are two independent services despite the fact that in the general case they come together, so a lot of people think of them as one single service. In reality, each and every domain has a couple of DNS records called A and MX, which show the server that manages each specific service - the first one is a numeric IP address, which identifies where the site for the domain name is loaded from, while the latter is an alphanumeric string, which shows the server that handles the emails for the domain address. As an 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 e-mail, 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 Internet browser request or the e-mail will be sent to the correct server. The reasoning behind working with separate records is that the two services work with different web protocols and you can have your site hosted by one company and the emails by another.