Domain names are often seen in analogy to real estate in that domain names are foundations on which a website can be built, and the highest quality domain names, like sought-after real estate, tend to carry significant value, usually due to their online brand-building potential, use in advertising, search engine optimization, and many other criteria.
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.
There is also what is called a ccTLD, or country code top-level domain. These are designed to signify sites located in or associated with certain countries or territories. Most of the ccTLDs actually don't have restrictions regarding who can register domain names. In fact, many ccTLDs are commonly misinterpreted as TLDs. For example, while .tv is commonly registered by television and media related websites, .tv is actually the ccTLD designated for the country Tuvalu. Domain hacks are also a popular use of both TLDs and ccTLDs. This involves creating a full word or phrase when combining the domain name with the TLD to create something your audience will easily remember. A popular example is using the .me ccTLD for Montenegro and combining it with "aweso" to create the domain aweso.me.
A great domain name is a concise, easy to type, and memorable URL that reflects your brand or your website’s subject matter. Avoid using hyphens, strings of numbers, or unnecessary words to make it easy for your visitors to remember and find your website. Remember: A great domain name is one that your visitors can type correctly on their first try.