[SOLVED]Difference between INPUT_PULLUP and an external pull down resistor?

If you needed a pull-up, the internal pull-ups are handy - if you need either a pull-up or a pull-down, you would naturally go for pull-up and use the internal ones if you wanted to avoid installing extra resistors.

The internal pull-ups are very weak (datasheet says 20k to 50k - typically this is too high for a high-noise environment (lots of motors, automotive, factory...). An external pull up or pull-down would then be used - could be as low as 1k or so. Normally this is not an issue though.

If you are wanting to interface some buttons switches the most convenient setup is to connect the buttons between signal pins and ground (ground is always available), then pull-ups are required - this is why only pull-ups are provided, this is the common case.

Sometimes you need pull-downs though - because some other device mandates them, or because you want to power-down parts of the circuit without causing inputs to change.

Also sometimes you might be pulling down an output rather than an input (for instance the gate of an n-channel MOSFET is typicall pulled down with a resistor so that it doesn't do random things while the circuit is powering up or reseting.

Sometimes you might want to pull to a different voltage (3V3 for example when driving an I2C sensor that runs at 3V3 - the internal pull-ups can't do this)