So eventually we want to understand what paths can be computed by distributed vector-based routing protocols. So you can think of that question as essentially: "What optimization problems can we solve using these distributed protocols?". You will see not all optimization problems can be solved with these protocols. We are of course interested in understanding for which kind of family of problems these protocols will converge. I already told you this; BGP in the general sense is not guaranteed to converge at the time. Deciding whether a BGP configuration will converge or not is as hard as figuring out whether any algorithm will terminate or not.
So we would like to understand what are the key ingredients that make a protocol possibly diverge forever. We will see that we can actually capture that. And when they do terminate, we would like to understand when it is that we are guaranteed to find an optimized solution. Again, BGP in the general sense, is not guaranteed to find an optimized solution. So not only does it not always terminate but when it does terminate it sometimes terminates on sub-optimized solutions. It is clearly an undesired outcome, yet this is the protocol that we are all dealing with today.
Also, another part that we will try to understand is when can we use destination-based forwarding. In destination-based forwarding, you have the destination address in the header of the package that you are forwarding. Then each node on the path is performing a lookup. That means that each node on the path is making a decision on where to send that packet next. If you have $n$ nodes on the path, you have $n$ decisions. All these n decisions need to be in sync, they somehow need to be synchronised for the packet to actually make it closer and closer to the destination, until it reaches a direct neighbor of the destination and finally the destination. That means that when you are relying on destination-based routing you implicitly have this constraint about the subsequent decisions that are being made. This prevents some kinds of paths from being used when you are using destination-based forwarding. And it is quite logical. If the downstream node that I am sending the traffic to is not computing a compatible decision with my decisions then we have an issue, we cannot use destination-based forwarding anymore.
Another alternative which is not used on the internet would be to use source routing. In source routing, the source is actually writing the entire path it wants to use in the header. So here there is only one entity deciding versus $n$ entities deciding. In this case, there is no constraint on the kind of path that you can use. It is much more flexible that way. But it has of course many other drawbacks that make it not being used on the internet today.