The term “hosting” does not describe one service, but a set of services that provide a variety of functions to a domain name. Having a site and emails, for example, are two individual services although in the general case they come together, so most people think of them as one single service. Actually, every domain has a couple of DNS records called A and MX, which show the server that deals with each specific service - the first one is a numeric IP address, that specifies where the site for the domain is loaded from, while the second one is an alphanumeric string, which shows the server that handles the emails for the domain name. For example, an A record can 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 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 then be sent to the correct server. The concept behind using separate records is that the two services work with different web protocols and you could have your website hosted by one company and the emails by another.