These days it's pretty much taken as read that if you want a presence on the web you need your own domain. It's all very well for we IT experts to say that a customer needs a domain, but no use if the customer has no idea why. So the first question that needs to be answered is 'what is a domain'?
To answer that question we need to first understand how computers on the internet (or any network for that matter) 'talk' to each other, and more importantly how they find each other in the first place. Just as we do in the physical world, each computer has its own address which is typically made up of a 32 bit number known as the IP address. It is usually expressed in the following notation xxx.xxx.xxx.xxx where each 'xxx' is an integer between 0 and 255.
That's all very well for computers to find each other but it isn't very memorable for we mere mortals, while I might remember the IP address of my own server I'm not going to remember the IP address of the Google web servers, for instance. That's where the domain name comes in, it is basically a human readable and memorable name for a given network. For instance 'www.convallissoftware.co.uk' is the web address of our companies web site, with 'convallissoftware.co.uk' being our companies domain name.