The definition of “hosting” doesn't describe one service, but several services which offer various functions to a domain. Having a website and e-mails, for instance, are two independent services despite the fact that in the general case they come together, so most of the people consider 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 handles each specific service - the first one is a numeric IP address, that identifies where the site for the domain name is loaded from, while the latter is an alphanumeric string, which shows the server that deals with the emails for the domain name. For instance, an A record can be 220.127.116.11 and an MX record is mx1.domain.com. Each time you open a site or send an email, the global DNS servers are contacted to check the name servers that a domain has and the traffic/message is first directed to that company. If you have custom records on their end, the browser request or the e-mail will then be forwarded to the correct server. The idea behind working with separate records is that the two services work with different web protocols and you can have your site hosted by one company and the e-mail messages by another.