The term “hosting” does not describe one service, but several services which offer numerous functions to a domain name. Having a website and e-mails, for instance, are two independent services even though in the general case they come together, so most of the people consider them as one single service. In reality, every domain name has a several DNS records called A and MX, which show the server that manages each specific service - the first one is a numeric IP address, that specifies where the website for the domain is loaded from, while the latter is an alphanumeric string, which shows the server that manages the emails for the domain name. For example, an A record would be 123.123.123.123 and an MX record would be 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 domain address has and the traffic/message is first directed to that company. When you have custom records on their end, the web browser request or the e-mail will be sent to the correct server. The idea behind working with separate records is that the two services employ different web protocols and you may have your site hosted by one company and the e-mail messages by another.