When using logical, or virtual, that is opposed to the physical version.
A logical address is something like an IP address, where it really has no physical presence, but a physical address is like a MAC address where it is burned into a PROM on the interface. (In practice, MAC addresses can easily be changed, but the one burned into the PROM will still be there for the next time you restart). On the other hand, IP addresses are assigned in software.
When it comes to logical connections, topology, etc., you have to remember that how devices are connected physically may look different than how they look logically. For instance, VLANs, trunks, tunnels, etc. can all affect how traffic flows that is different than how physical links seem to be connected. For example, a tunnel has two endpoints, but it may actually pass through many different links, each with two endpoints. To the traffic, the tunnel is a single hop, rather than all the multiple hops (which may change from packet to packet) that are really how the traffic flows.
You also can have logical (virtual) interfaces that behave like real, physical interfaces, but they are software constructs. A good example of that is a loopback interface.