spanning tree blocks one side of a link only. On EXOS, spanning tree blocks only VLANs associated to that spanning tree domain (stpd) (I am assuming you are using EXOS switches, please correct me if I'm wrong).
Spanning tree blocks ports (resp. VLANs on a port) inside the spanning tree domain only. You can create loops outside the STP domain that cannot be detected by the spanning tree protocol, e.g. by connecting to edge ports using a switch that drops the spanning tree BPDUs.
If you connect two of your switches with two cables and configure spanning tree on those ports & VLANs, you will see that one of the switches blocks its port / VLAN(s).
The reason for point-to-point mode is to decrease convergence time on topology changes. The two switches on each end of the link negotiate their respective views on the topology and decide if one of them needs to block the port. This cannot be done on shared media (e.g. a hub), in which case time-outs are used instead of negotiation. Edge mode is used to not even try STP negotiations, because the connected device is not supposed to speak STP. This is where edge-safeguard comes in, blocking a port / VLAN if receiving a BPDU. BPDUs need to be sent out on edge ports to detect e.g. a cable connecting two edge-ports.
Spanning tree configuration on EXOS can be quite involved, but it generally works if configured correctly. EXOS supports many different spanning tree versions in many combinations, which complicates configuration.