Good question, there’s a good explanation for this:
iBGP requires a full mesh of peerings because of iBGP split horizon. This is why we use loopback interfaces instead of physical interfaces for the peering. Physical interfaces can go down, loopbacks can’t (unless you shut them). In this example I could have used physical interfaces since there is only one link between R2-R3 and R3-R4, if we had a link between R2-R4 then it would have been a must.
When R4 (or R2) advertises its network on the loopback interface to R3 then R3 will store it in its BGP table but will never forward this network to R2 (or R4) because of iBGP split horizon. It will be impossible to establish iBGP between R2-R4 using loopback interfaces so you are forced to use physical interfaces.
using an IGP (like OSPF) ensures that all iBGP routers can learn about the networks on the loopback interfaces. Also, when a physical link goes down…our IGPs are really fast switching to a backup route, BGP is slow…
Hope this helps, if you need some more detail just let me know ok?