/etc/hosts, you need to somehow keep track that all the necessary hostnames are listed in the file, and that the file is up-to-date and free of errors on all the servers.
When using a DNS server, the management of all the hostname information is nicely centralized in one place (the DNS server) and DNS also includes some features that are simply not possible with just a hosts file. Some cluster/failover technologies may rely on those features for 100% correct set-up. (For example, Oracle RAC high-availability database cluster requires a single hostname to point to multiple IP addresses in a round-robin fashion. This can be properly implemented only using a DNS server, not with a hosts file.)
A Windows DNS server is often a part of Active Directory set-up. As such, it is already a pretty critical component in your IT infrastructure and you might already have multiple redundant Active Directory servers: that would make the DNS service very reliable, so there should be very few reasons to avoid it. (But if you're still using Windows 2008 servers in year 2019, perhaps I should not assume that.)