The 5 volts is the operating voltage. The Atmega328 (the micro-controller on your Arduino) is capable of operating on voltages between 1.8 and 5.5 volts. However it only runs stable at 16MHz with at least ~4 volts. Running at 5 volts increases compatibility with other 5 volt devices with smaller margins.
The input voltage is the voltage you supply to the board into a linear voltage regulator. That regulator is a component that acts as a variable resistor is such a way that it always outputs 5 volt. However, because of the way it works, it always drops the voltage at least 1.25 volts. Than there is also a diode that drops the voltage a fixed ~0.7 volts.
So the input voltage is always reduced at least ~2 volts. This results in a recommended minimum input voltage of 5+2=7 volts, but 6 volts will turn it on too, but at a reduced operating voltage. If you bypass the regulator you should only supply a regulated operating voltage of 5 volts. This is what happens when you use the USB port's 5 volt.
The voltage regulator turns the excess voltage into heat on a very small component. So while it may be capable of regulating 20 volts into 5 volts, the 15 volts difference turns three times the energy the rest of the board uses into heat. Without a heat shield it will heat up until it malfunctions. With a 12 volts input there is only a 7 volt difference (less than half of before) and it is still capable of sufficiently dissipating the heat to the air.