Originally it was implemented by using steam P2P to exchange IP/port/game information and then perform NAT traversal/hole punching using google STUN server to open ports for spring.
Later it was rewritten so that wrapper hosts one or more mini proxy servers, spring connects to wrapper and wrapper does the packet relay over steam P2P networking services, which have fallbacks to use server based relay.
So the beauty is, that spring does not even know to what it is connecting, it connects to "localhost" and gets data from localhost.. wrapper manages the list of clients and does the needed routing etc..
Thats why it should work under any network configuration (which allows steam to run).
GoogleFrog made it so that you can exchange saves via modoptions between players in coop mode and tweaked editor functions to sync camera in custscenes etc.
After you play with a friend you can continue campaign from "his" save.
So technically it is quite well implemented SP coop as other games go.