I know that the arduino has internal 20k Pull Up Resistors which can be accessed through the INPUT_PULLUP flag/argument so I guess that saves a component
However, If my project allows for the flexibilty of either normally low (pull down) or normaly high (pull up), is there any benefit or drawback to choosing one over the other?
If the built-in pull-up works for you I'd recommend using it. In a hobby project it's "nice" to minimize the component-count and connection-count. Even in mass production where an additional resistor (and connection) cost's virtually nothing, there is more chance for a failure or an assembly error.
I've got some projects with toggle switches and I use the built-in pull-up. Sometimes the "logic" requires the switch to be installed upside down and/or inverting the logic in software but that's OK.
There are Open Collector Logic (or open drain) chips where the outputs can be "ored" together with a pull-up and without potential damage from shorting normal outputs together... One or more outputs can pull the signal low without harming the other chips.
the internal resistor value of AVR chips is guaranteed to be between 20kΩ and 50kΩ .
which makes them a bit wimpy, though they will probably work most always.
I never got out of the habit of using a real resistor, back from when you had to. Then you can pull as hard or as weakly as you want, and with a through hole resistor you get a place where a probe can be clipped on, big deal.
I learn something every day. I have not seen that point made. THX.