The word “hosting” doesn't describe a particular service, but a number of services which provide a variety of functions to a domain. Having a site and emails, as an example, are two separate services though in the general case they come together, so most 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 handles each specific service - the first one 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 address. For instance, an A record can be 123.123.123.123 and an MX record would be mx1.domain.com. Whenever you open a site or send an e-mail, 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. If you have custom records on their end, the browser request or the e-mail will then be directed to the correct server. The idea behind using separate records is that the two services use different web protocols and you can have your website hosted by one service provider and the e-mail messages by another.