The definition of “hosting” doesn't describe a particular service, but several services which provide numerous 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 most people think of them as one single service. In reality, every domain name has a couple of DNS records called A and MX, which show the server that manages each specific service - the first one is a numeric IP address, that specifies 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. As an example, 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 email, the global DNS servers are contacted to check the name servers that a Internet domain has and the traffic/message is first directed to that company. In case you have custom records on their end, the web browser request or the email will then be sent to the correct server. The idea behind working with separate records is that the two services use different web protocols and you could have your site hosted by one company and the emails by another.