A full mesh peering has both pros and cons. Some of these are hard to see in simple networks like in this example. One reason, for example, that you might want a full mesh between R2, R3, and R4, is that each of those routers would have a complete view of the network, and each could make its own calculation as to best path choice. Contrast this against a non-meshed network–for example, where R3 is a route-reflector and R2 and R4 are clients. In this case, R3 is the one that makes all the decisions as to which routes are best, and only those routes are advertised to its clients.
For example, let’s say the link between R3 and R4 is really slow, but a link (not pictured) between R2 and R4 is fast. In a fully meshed network, R2 would have enough BGP information to be able to choose between an R2-R3-R4 path or a R2-R4 path. In the case of a non-fully meshed network, and R3’s being a route-reflector, R2 only knows what R3 has decided to tell it about routes from R4.