The word “hosting” doesn't describe one service, but a set of services which offer various functions to a domain. Having a site and e-mails, as an illustration, are two independent services though in the general case they come together, so most people see them as one single service. Actually, each domain has a couple of DNS records called A and MX, which show the server that deals with each particular service - the first one is a numeric IP address, that defines where the website for the domain name 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 is mx1.domain.com. Whenever you open a site or send an email, the global DNS servers are contacted to check the name servers that a domain 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 email will be sent to the correct server. The concept behind employing separate records is that the two services use different web protocols and you can have your site hosted by one provider and the emails by another.