What is the difference between domains vs hosting vs website?
There are three basic parts that make up any current day web site:
The domain name
The web-hosting, or server
The site files themselves
The domain name is much like an entry in a phone book. Computers communicate by using numbers, called IP addresses, to contact each other, much like you use a phone number to dial a specific person's phone. If you want people to find your business's phone number, you want to be listed in a phone book. The phone book tells people looking for your phone number “Company A's Phone number is xxx-xxx-xxxx” just as a domain tells people (i.e. their computers) “domainA.com is hosted on the server xxx.xxx.xxx.xxx” Without the domain, you would have to tell your customers “Hey my site is located at 123.456.789.123/~mysite/” instead of “mysite.com” You can see how, without a domain, having a site or hosting is impractical.
The web-hosting or server portion is much like the space that you rent out to have your business in. It's merely the space itself. It does not include furnishings like shelves for your products, just as the web-hosting account doesn't include a site for you to sell your products. Luckily, in the web-hosting world, it's very easy to furnish the space provided by your host, because you can install many framework applications through the Fantastico icon within your cPanel. Without the hosting services, you won't have a place for your files to reside, so your domain would then become like a disconnected phone number in the phone directory, and your site files would have nowhere to stay.
The site files are what your visitors and potential customers actually see - your products and services. The site files are the same as any other file you normally use, like a .jpg photograph, or .mp3 music file. Though, website files are also .php files or .html files, which are PHP scripts or html pages respectively. The web host (server) knows how to read these files, which explain how the webpage looks or instruct it to do a series of computations. These computations are things like figuring out what blog article it's supposed to send back to the viewer, or what forum post it's supposed to send back.
In summary, you have a site visitor, who goes to your domain name, which translates into your server IP address, then the server sends that user your site files, which their browser represents to them as a typical “web-page.” You can see that, without each of these 3 elements, you won't really have a “web-site.”