Getting a domain name involves registering the name you want with an organisation called ICANN through a domain name registrar. For example, if you choose a name like “example.com”, you will have to go to a registrar, pay a registration fee that costs around US$10 to US$35 for that name. That will give you the right to the name for a year, and you will have to renew it annually for (usually) the same amount per annum.
Some web hosts will register it and pay for the name for free (usually only the commercial web hosts), while others will do it for you but you’ll have to foot the registrar fees.
My personal preference is to register the name directly with a domain name registrar rather than through my web host. I’ve heard stories, in the past, of less-than-reputable web hosts that registered the domain under their own name, making them the owner of the domain rather than you (although I don’t know if such web hosts still exist today). Registering direct with a domain name registrar allows me to make sure that I am registered as the owner, the administrative and technical contacts. Being the owner is vital — if someone else places himself as the owner (such as your web host), he can always decide to charge you some exorbitant fee for the use of the name later, and there is little you can do. The various other contacts are less vital, but may still play important roles, depending on your registrar. For example, for some registrars, the administrative contact’s approval is required before a domain name is transferred out of a web host (or at least, it used to be). If he/she cannot be contacted, the technical contact is used.
Domain names disappear extremely fast. Many people claim that all the good domain names are gone. I doubt that — but it is probably true that most good domain names that are descriptive of products and services have been taken. If you want a domain name for your site, I suggest you act now, or face the anguish of having lost that name later. After all, US$10 (more or less) for a year’s ownership of the name is rather cheap when you realise that you’re securing a good name for your website.