The term “hosting” doesn't describe just one service, but several services that provide various functions to a domain. Having a site and e-mails, as an example, are two independent services even though in the general case they come together, so a lot of people see them as one single service. The truth is, each and every domain has a several DNS records called A and MX, which show the server that manages each particular service - the first one is a numeric IP address, which 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 e-mails for the domain name. As an illustration, an A record can be 123.123.123.123 and an MX record can be 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 address has and the traffic/message is first forwarded to that company. When you have custom records on their end, the browser request or the e-mail will then be sent to the correct server. The reasoning behind using separate records is that the two services use different web protocols and you can have your site hosted by one provider and the e-mail messages by another.