If you cancel within 30 days and your plan includes a free domain, Bluehost will deduct a non-refundable domain fee of 15.99 from your refund. This not only covers our costs, but ensures that you won't lose your domain name. You may transfer it to another registrar or simply point it elsewhere at your convenience. Please note newly registered domains cannot be transferred to another registrar during the first 60 days of the registration period. You retain ownership of your domain until the end of its registration period unless you renew it.
Note that you can also transfer your domain name from one registration service to another. You'll want to do this if you're not satisfied with your current domain hosting service, if you find a better deal when your current registration is coming due, or, most likely, if you've signed up with a web hosting service that will also transfer your name to its site. Expect to get the transfer for free, but if that isn't offered, search for another domain hosting service.
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.

Even when you register and pay for your domain name, you won't necessarily be able to use the name for several hours or even a few days. The domain must propagate, meaning that the official domain name registry must be updated with your website's Domain Name System information. That's something that occurs on the backend without any need of input from you.
There are numerous domain name registrars. Listed below are just a few, along with my comments, if I know anything about them. Note that the domain name industry is highly competitive, with prices wildly fluctuating throughout the year, every year, so it's impossible to really mention accurate prices below unless I spend all my time updating this page. Please check their sites for the latest rates. All prices below are in US dollars.

In order to register any domain, you must provide certain personal information that you may not wish to be publically searchable in the Whois database. Signing up for WhoisGuard is a great way to keep your registration data private. WhoisGuard acts as a "shield" for your searchable information, displaying the address, phone number, and email of the domain registrar (Namecheap, e.g.) instead of your own. Keep in mind that WhoisGuard is an optional security add-on that must be renewed separately when you renew your domain.