Domain names are mainly used as names for websites. In short, instead of having to type each website's IP into our browsers, domain names give websites their own good looking name that can be easily memorized and used by everyone. For example, to access our website, all you need to enter into your browser is hostinger.com, instead of a string of random numbers like 188.8.131.52. They can have multiple different extensions, such as .com, .net, .org. Domain Name registrations are usually not free and a registration and renewal fee is required for the domain.
Now subdomains are dependant on standard domains. They are like an additional level to a domain name. Let's say for example you own the domain hostinger.com. You can create additional subdomains for your domain like forums.hostinger.com. Since you already own the domain hostinger.com, subdomains for the Domain do not require any additional fees, and you can usually set them up pretty easily.