The definition of “hosting” doesn't describe one service, but several services which provide a variety of functions to a domain name. Having a website and e-mails, for example, are two separate services despite the fact that in the general case they come together, so most people consider them as one single service. In reality, each and every domain has a couple of DNS records called A and MX, which show the server that handles each specific service - the first one is a numeric IP address, which specifies where the site 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. As an example, an A record can be 220.127.116.11 and an MX record would be mx1.domain.com. Each time 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 browser request or the e-mail will be sent to the correct server. The idea behind using separate records is that the two services employ different web protocols and you can have your website hosted by one company and the e-mail messages by another.