What is a hostname?
Hostname is a symbolic label assigned to a network device, which could be used to access this device in a various manner. Usually a hostname is a domain name, which is more comfortable for a human being to use, remember, pronounce and type than a numeric IP address, which is used to identify a network device.
As well as each network device must have an IP address, nor hostname is mandatory for the device.
Hostnames can be assigned to computers and other network devices in several ways. Fully Qualified Domain Names (FQDN) are managed by a global DNS system and are unique over all Internet. By the way, in local networks there is a possibility to use local DNS to manage the computer names, or at each computer there is an ability to setup computer names manually via "hosts" file.
Anyway, the network devices can communicate to each other only by numeric unique identifiers (IP-addresses). It means that assignment of a hostname to a network device implies a resolution of this symbolic name to an IP-address. As a result, we can assign to one IP several different domain names (one IP - several domains). Due to this, resolution of domain name to IP is a strict process which each device and its operating system knows how to do. From other hand, there is no strict process to do vice versa to resolve an IP-address to all the domain names assigned to it. Except one name, which is stored in DNS as a PTR (pointer) record. Exactly this (stored as PTR) name is that we call a "Hostname", and that's why it differs from other domain names (means why it's not just the "domain name").