By definition, a domain name is simply a human readable form of an IP address. In function it is the destination that you type into a web browser in order to visit a website, such a www.google.com. Metaphorically, it is very similar to how you would scroll to a contact in your cell phone rather than manually dialing the person by entering their full phone number; the phone number would be an IP address and the saved contact would be a domain name. Always buy a domain with a reputable domain registrar.
Think of your domain name as a street address for your website. Without a domain name, you would have to tell customers to visit your website at an IP-based url such as 184.108.40.206/~yourwebsite instead of yourwebsite.com. The former is not very memorable or friendly to human eyes and will surely result in not that many visits to your website. While it is not mandatory that you have a website domain name, nor is it mandatory that a domain you own be attached to a website, for a successful online presence you truly will want to get your own domain name to ensure your website has the proper air of professionalism and appropriate branding.
Allows clients to become web hosts themselves. Resellers could function, for individual domains, under any combination of these listed types of hosting, depending on who they are affiliated with as a reseller. Resellers' accounts may vary tremendously in size: they may have their own virtual dedicated server to a colocated server. Many resellers provide a nearly identical service to their provider's shared hosting plan and provide the technical support themselves.