The term “hosting” doesn't describe only one service, but several services that provide different functions to a domain address. Having a site and e-mails, for example, are two individual services though in the general case they come together, so many 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 deals with each specific service - the former is a numeric IP address, which defines 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 emails for the domain address. As an illustration, an A record would be 123.123.123.123 and an MX record would be mx1.domain.com. Whenever you open a site or send an e-mail, 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 web browser request or the e-mail will then be sent to the correct server. The concept behind working with separate records is that the two services use different web protocols and you could have your website hosted by one company and the e-mail messages by another.