The word “hosting” doesn't describe only one service, but a set of services which offer various functions to a domain. Having a site and e-mails, for instance, are two individual services although in the general case they come together, so most people consider them as one single service. Actually, every domain has a couple of DNS records called A and MX, which show the server that manages each specific service - the former is a numeric IP address, which defines 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 e-mails for the domain. For instance, an A record is 188.8.131.52 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. In case you have custom records on their end, the Internet browser request or the email will be sent to the correct server. The idea behind working with separate records is that the two services use different web protocols and you can have your website hosted by one company and the e-mail messages by another.