I'll try to explain (don't be insulted if I try to be too simple, I don't know the electrical ability of all people out there).
First there is a voltage drop in any wire carrying current. The voltage drop is the current times the resistance of the wire (V=I*R). When you connect the ground and neutral together in both boxes, the ground and neutral wires are electrically connected in parallel. Given that, when there is current flowing in the neutral leg (which normally occurs), there will be a voltage drop over that wire. In the example of the ground-neutral connected in parallel, the current will flow through both of them, and a voltage drop will occur in both of them, so the ground (safety ground) will rise above "true" ground, which is established by the ground rod and bonding to the house piping, by that voltage drop due to the current.
So in this example, say there is 20 amps in the neutral leg, which causes a 2 volt drop in the neutral-ground wires between the main and sub. Now the ground pin on all of the sockets will be 2 volts above the "true" ground. If you are working in a bathroom with a grounded tool, the metal case of the tool will now be 2 volts above the potential of the metal faucet. If you touched the tool to the faucet, current would flow back through the pipes, because there is a 2 volt difference. This would be considered a ground loop, or circulating current - it is "circulating" through the ground circuit.
This may seem trivial with 2 volts, but consider now that your welder, which is connected to the sub, shorts internally. In the time before the breaker trips (they takes some time to trip the breaker), there could be hundreds of amps of fault current (fault current can exceed the service rating for very short times, limited by the wiring and transformer impedances only). This momentary high current will cause a corresponding high voltage drop as described earlier. If someone happened to be between neutral and ground (like the bathroom example I gave) when the fault occured (the fault can be far from them), they could get a jolt.
I hope this explains it and the reason why the code does not want you to bond a sub.
paul