The definition of “hosting” doesn't describe a particular service, but a variety of services that provide different functions to a domain address. Having a site and e-mails, as an example, 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, every single domain name has a couple of DNS records called A and MX, which show the server that manages each particular service - the first one is a numeric IP address, that specifies where the site for the domain name is loaded from, while the second one is an alphanumeric string, which shows the server that deals with the e-mails for the domain name. For example, an A record can be 22.214.171.124 and an MX record would be mx1.domain.com. Every time you open a website 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 directed to that company. In case you have custom records on their end, the Internet browser request or the email will then be directed to the correct server. The concept behind working with separate records is that the two services use different web protocols and you can have your website hosted by one provider and the e-mails by another.