In the simplest way that I can explain it, a hostname is the name that identifies a specific host. It can be anything — xyz, hello, mydomain.com, vps.mydomain.com, and so on. The hostname is used internally, on a network (such as across your droplets here at DigitalOcean). The hostname is given to the machine (the host), so one of your droplets here can have a hostname of something such as xyz.
Keep in mind that a hostname can look like what people call subdomains: blog.mydomain.com. But if there are no DNS records for this name, it’s technically not a subdomain. Hostnames can also be as many levels deep as you want them to be: hello.xyz.blog.mydomain.com.
The average user will likely never need to worry about his or her hostname.
A domain name, such as mydomain.com, is used publicly (externally) and communicates with the internet.
To answer your question, you can point your domain name’s DNS records to your DigitalOcean droplet. I’m assuming you’ve purchased a domain name through your current shared hosting provider, so they should be able to help you if you’re unsure of how to change the records. You can give your droplet the same hostname as your domain name if you’d like.