The definition of “hosting” doesn't describe only one service, but a number of services that offer various functions to a domain name. Having a website and e-mails, for example, are two separate services even though in the general case they come together, so most of the people think of them as one single service. In fact, every domain has a several DNS records called A and MX, which show the server that manages each specific service - the first one is a numeric IP address, which defines where the site for the domain is loaded from, while the latter is an alphanumeric string, which shows the server that manages the emails for the domain address. As an illustration, an A record can be 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 directed to that company. If you have custom records on their end, the web browser request or the email will be sent to the correct server. The reasoning behind using separate records is that the two services use different web protocols and you may have your site hosted by one service provider and the emails by another.
