The word “hosting” doesn't describe just one service, but a number of services which provide numerous functions to a domain name. Having a website and e-mails, as an example, are two individual services despite the fact that in the general case they come together, so most of the people see 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 particular service - the former is a numeric IP address, that defines where the website for the domain is loaded from, while the second one is an alphanumeric string, which shows the server that deals with the e-mails for the domain name. For instance, an A record would be 126.96.36.199 and an MX record can be mx1.domain.com. Whenever you open a website or send an e-mail, the global DNS servers are contacted to check the name servers that a domain name has and the traffic/message is first forwarded to that company. When you have custom records on their end, the Internet browser request or the email will then be sent to the correct server. The idea behind using separate records is that the two services work with different web protocols and you can have your site hosted by one service provider and the e-mail messages by another.