If you are wondering what the difference is between a hostname (or host name) and a domain name, you're on the right page. This document answers the question once and for all and most importantly, is an accurate answer.
For those that need to ask this question without needing to become a DNS administrator, a hostname is a specific name pointing to a specific host. It doesn't matter if its 1, 2, 3 or even 63 levels deep. A hostname could be bob, bob.com, bob.bobsdomain.com, bob.accounting.bobsemployer.com and so on. The point is that its a name used to refer to a specific host. If someone has their own network setup with their own private domain to use for it, then they can make a hostname be something as simple as just 'bob' if they want and that can could be considered fully qualified. Quite a few people and companies actually have their own internal non-public domains.
You might hear the term Fully Qualified Domain Name (FQDN) and become confused because that term seems to imply that something like bob.accounting.bobsemployer.com is a domain name instead of a hostname. I think that the term should have been called Fully Qualified Domain Hostname or maybe Fully Qualified DNS Name, because in the FQDN term, Domain Name doesn't mean "domain name" like bobsemployer.com, it means "the name on the domain", so the term can be misleading, although its used in many official documents and program descriptions just by rote.
On the public part of the Internet, we all utilize a DNS infrastructure that use global top level domains like .com, .net, .org, .us, .fr, etc. Then people can purchase or accquire domains on those gTLDs such as bobsdomain.com. Then we often see hostnames like www.bobsdomain.com or blog.bobsdomain.com used under that. These are actually called logical hostnames because usually they are just names pointing at a single host. Often times the host they are pointing to has its own hostname called whatever the owner wants to call it, like myrtle.bobsdomain.com.
Probably a lot of the confusion came about because some web hosting companies started calling hostnames like blog.bobsdomain.com subdomains, where they are not. blog.bobsdomain.com is only a sub domain if there are DNS records underneath it, like mary.blog.bobsdomain.com.
For the most part, you can simply follow this rule "domains encapsulate hostnames". Most people don't need to think about what DNS zones are, just leave that to DNS administrators. Resources on the network generally don't care or even know what their hostnames are or what hostnames might be pointing to them. They are mostly there for human reference and ease of use of the network.