A web hosting is a virtual space attached with each domain. You can create your website and keep the files on this space. Your other services like emails, payment gateways etc. also runs from these hosting space spread over many servers.