Existing 3 wire service feed to sub panel: bonding grounded neutral and ground bars?
The three wire allowance is an exception to 250.32(B)(1), which allows existing installations that were compliant with previous code versions to exist.  If you want to bring the installation up to current standards, you can install a properly sized grounding conductor between the panels and separate the neutral and grounding bars in the second panel.

The reason you need to bond the neutral bar in the case of a three wire feeder, is to provide an effective ground-fault current path. Remember, electricity is trying to return to the source, not to the ground (earth). In the event of a ground-fault, you want the fault current to be able to have a low resistance path back to the source.  This low resistance path should allow the fault current to be great enough, so that a circuit breaker (or other protective device) can activate and open the circuit.

If you read the text of the code, you'll find that it says "the grounded conductor run with the supply to the building or structure shall be permitted to serve as the ground-fault return path". By bonding the grounded (neutral) and grounding bars in the panel, you're using the grounded (neutral) conductor as a ground-fault return path.

Hope this makes sense, and answers all your questions.