If you’re using the Arduino Motor Shield and wracking your brain trying to figure out why your motors aren’t turning, or only one motor is turning, or the motor will only turn one way, take a look at the space between the motor shield and the Arduino, and make sure the M1 terminals aren’t touching the Arduino’s USB port. The motor shield sits very close to the Arduino, and if the contacts are touching anything metal you’ll have problems.
Luckily the fix is easy. Take a piece of electrical tape or paper and put it over the USB port to keep the parts from touching. In my case, the solder points on the motor terminals were so sharp they actually poked through the electrical tap, so I added a piece of masking tap over the solder points as well.