You can use either a pullup or a pulldown. Both work, and that's what Mike said in that thread you linked to, that the button tutorial is "wrong".
Clearly, it's not wrong in an absolute sense, since it works; but pullups are the preferred way of doing things.
Pullups can be handled with an external resistor, but the Arduino has them built in so it's obviously more convenient to use them than to have extra external ones.
You'll notice that the logic is reversed between pullups and pulldowns:
- With pullUP, the pin is normally high and goes low when you press the button; so-called "active low"
- With pullDOWN, the pin is normally low and goes high when you press the button; so-called "active high"