Why does a pull-up resistor not stop current flowing to the input pin when the switch is open?
The input is high-impedance and as such hardly draws any current. But let's, for sake of argument, pretend there flows a (rather large) current of 1\$\mu\$A. This current will flow through the 10k\$\Omega\$ pull-up resistor causing a 10mV (1\$\mu\$A \$\times\$ 10k\$\Omega\$) voltage drop across it. So in this case the voltage on the input pin will be \$V_{CC}\$ - 10mV, probably 5V - 10mV = 4.99V. That will be still recognized as a high level, so no problems here.
The 10k\$\Omega\$ is a typical value for pull-up resistors for this reason: even if there's a small leakage current the voltage drop is negligible. Don't be tempted to increase it to 1M\$\Omega\$, though it will decrease the current when the switch is closed. At 1\$\mu\$A leakage current the voltage drop will be 1\$\mu\$A \$\times\$ 1M\$\Omega\$ = 1V, and then the 5V will drop to 4V. For a 5V supply this will still be OK, but for a 3.3V supply the resulting 2.3V may be too low to be always seen as a high level.  

For the pull-down the story is about the same. There doesn't flow any current in the input; you can't say that it would be connected to ground (in which case closing the switch would indeed cause a short-circuit). As such the input takes the voltage you apply to it. If the switch is closed this is \$V_{CC}\$. If the switch is open it's ground (through the pull-down resistor). If there's no current flowing (ideal world) then there's no voltage drop across the resistor either, and the input will be at \$GND\$ level. In a real world situation it may be a few mV.