The word “hosting” doesn't describe one service, but a variety of services which offer a variety of functions to a domain. Having a website and emails, for instance, are two individual services although in the general case they come together, so most of the people see them as one single service. The truth is, each domain has a several DNS records called A and MX, which show the server that handles each specific service - the former is a numeric IP address, that specifies where the site for the domain name is loaded from, while the second one is an alphanumeric string, which shows the server that handles the e-mails for the domain address. For example, an A record is 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 name has and the traffic/message is first forwarded to that company. When you have custom records on their end, the browser request or the email will be directed to the correct server. The concept behind using separate records is that the two services employ different web protocols and you can have your site hosted by one service provider and the e-mails by another.