bidirecttional arduino-controlled motor. What do we need the diodes for?
You are asking what these diodes are for:



It looks like would always be reverse-biased, so why include them?

The reason is to clip voltage spikes caused by the inductive kickback of the motor when it is switched off suddenly.  The current thru a inductor can't change instantaneously.  If you try to switch the motor off instantaneously, the inductance of the motor windings will make whatever voltage it takes to keep the current flowing in the short term.  In your case, that would mean frying the transistors until they conduct anyway, despite being controlled to be off.

Another reason for motors is to keep the motor voltage to a reasonable level when the motor is back-driven.  In that case, the motor acts like a generator and makes its own voltage.  That voltage could get too high for the switching transistors to take.  The diodes cause the motor to try to drive the power supply when its open-circuit voltage would exceed the power supply voltage (plus two diode drops).

Actually, the above can cause another problem.  Trying to dump current on the power supply will load the motor and reduce the voltage it would otherwise produce.  However, depending on what else is on the power supply, the motor might be able to drive the supply too high.  In cases like that, you usually include a shunt regulator across the supply, set to a little higher than the intended supply voltage.  If the motor tries to drive the supply too high, the shunt regulator draws whatever current it needs to so that the voltage doesn't exceed the set point.  That could mean dissipating significant power.  That has to be considered in the design of the shunt regulator.