Distance Vector vs Link State vs Hybrid / Advanced Distance Vector Routing Protocols.
The purpose of link-state and distance vector routing protocols is to help transmit traffic across a network as efficiently as possible. Think of this as something similar to going on a road trip. If you are going on a road trip, you probably would plan out the best route to reach your destination, like avoiding all detours.
Link-state routing protocols are based on the shortest path first (SPF) algorithm. These types of routing protocols work by having nodes advertise themselves and their path to the destination. By doing this, it allows all routes to the destination to be evaluated. A great example of this would be OSPF, which is an IGP. An interior gateway protocol is used for exchanging routing information between network devices within an autonomous system. An external gateway protocol is used to exchange information between different autonomous systems. OSPF works by all network devices having a copy of the entire network's topology and their place within it. It does this by using link-state advertisements, LSAs. With OSPF, devices will only update their LSDB if something in the topology changes when a modification occurs.
With distance vector routing protocols, instead of nodes advertising themselves in a way that will give us a map of the entire topology, distance vector routing protocols advertise themselves one node at a time. These advertisements are usually called "routing by rumor." This is because nodes will share information with each other and do not know where it comes from. Some great examples of this would be RIP and IGRP. There is also EIGRP, but this can be a bit tricky.
Hybrid routing protocols implement the best parts of both link-state and distance vector protocols to provide the shortest and most reliable path for network traffic. A great example of this would be EIGRP. It combines the fast convergence of link-state routing protocols but also the easy setup like distance vector protocols. EIGRP is personally one of my favorite routing protocols, mainly because of how fast and easy it is to set up.
So why might you use one type of routing protocol over the other? It depends on your needs. If you need fast convergence, an accurate network topology, and load balancing, link-state is the way to go. If you are looking for something that uses low CPU resources and have a small network, maybe distance vector is the way to go. If you are looking for something that consumes low bandwidth, supports load balancing, uses less CPU processing power than a link-state protocol, and converges fast, then maybe you should go with a hybrid routing protocol! Link-state is the way to go.