The word “hosting” doesn't describe just one service, but a set of services which offer numerous functions to a domain address. Having a website and e-mails, for instance, are two independent services even though in the general case they come together, so many people see them as one single service. In reality, every single domain has a several DNS records called A and MX, which show the server that handles each specific service - the first one is a numeric IP address, that specifies where the site for the domain address is loaded from, while the latter is an alphanumeric string, which shows the server that manages the emails for the domain address. As an illustration, an A record can be 123.123.123.123 and an MX record is 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 forwarded to that company. When you have custom records on their end, the web browser request or the email will then be forwarded 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 emails by another.