The definition of “hosting” doesn't describe a particular service, but a variety of services which offer different functions to a domain address. Having a website and e-mails, as an example, are two independent services though in the general case they come together, so a lot of people think of them as one single service. In reality, every single domain name has a couple of DNS records called A and MX, which show the server that deals with each particular service - the former is a numeric IP address, which 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 emails for the domain address. For instance, an A record is 123.123.123.123 and an MX record can 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 address has and the traffic/message is first forwarded to that company. In case you have custom records on their end, the browser request or the e-mail will be sent to the correct server. The concept 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.