The term “hosting” doesn't describe a single service, but a set of services that offer different functions to a domain. Having a site and e-mails, for example, are two separate services although in the general case they come together, so many people consider them as one single service. Actually, each domain name has a number of DNS records called A and MX, which show the server that handles each particular service - the former is a numeric IP address, which defines where the site for the domain 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. As an illustration, an A record would be 123.123.123.123 and an MX record is 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 has and the traffic/message is first forwarded to that company. In case you have custom records on their end, the web browser request or the e-mail will then be directed to the correct server. The reasoning behind working with separate records is that the two services use different web protocols and you can have your site hosted by one service provider and the emails by another.