In our present situation, in a varsity lan, (where the ips are 10.0.x.y) some of our servers are behind an additional router (the router has a 10.0.x.y address, while its clients have 192.168.x.y), and are not accessible by the nodes which happen to have a 10.0.x.y ip address.
In a simplified example (with four nodes)
A - 10.0.0.1
B - 10.0.0.2
C - 192.168.0.1 (behind router with 10.0.0.3)
D - 192.168.0.2 (behind router with 10.0.0.4)
Thus, we can't set C or D to listen on the external ip (10.0.0.3|4) since they can't bind to it. With the attached patch, they can set listen_address to 0.0.0.0 or 192.168.0.1|2 and broadcast_address to 10.0.0.3|4 .
This is a non-typical scenario, and not many admins will need to configure this, thus, broadcast_address fallsback to listen_address when it is not set.