The definition of “hosting” doesn't describe one service, but a set of services which provide numerous functions to a domain name. Having a site and e-mails, for instance, are two separate services though in the general case they come together, so most of the people consider them as one single service. Actually, each and every domain name has a number of DNS records called A and MX, which show the server that handles each particular service - the first one is a numeric IP address, which identifies where the site for the domain is loaded from, while the second one is an alphanumeric string, which shows the server that handles the e-mails for the domain name. For instance, an A record can be 123.123.123.123 and an MX record would be mx1.domain.com. Whenever you open a website 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 directed to that company. If you have custom records on their end, the browser request or the email will be directed to the correct server. The concept behind using separate records is that the two services use different web protocols and you could have your site hosted by one service provider and the e-mail messages by another.