What is a decoupling capacitor and how do I know if I need one?
Power supplies are slow...they take roughly 10 us to respond (i.e. bandwidth up to 100 kHz).  So when your big, bad, multi-MHz microcontroller switches a bunch of outputs from high to low, it will draw from the power supply, causing the voltage to start drooping until it realizes (10 us later!) that it needs to do something to correct the drooping voltage.

To compensate for slow power supplies, we use decoupling capacitors.  Decoupling capacitors add fast "charge storage" near the IC.  So when your micro switches the outputs, instead of drawing charge from the power supply, it will first draw from the capacitors.  This will buy the power supply some time to adjust to the changing demands.

The "speed" of capacitors varies.  Basically, smaller capacitors are faster; inductance tends to be the limiting factor, which is why everyone recommends putting the caps as close as possible to VCC/GND with the shortest, widest leads that are practical.  So pick the largest capacitance in the smallest package, and they will provide the most charge as fast as possible.