Pull-up and/or pull-down resistors are also sometimes required if you're changing from one logic family to another, not normal unless you need a special function (e.g., you're working with 74LSxxx TTL and need an analog multiplexer from the CMOS family) and need reliable switching.
By the way, in TTL it's one heck of a lot harder to pull an input down than it is to pull it up, so design your circuits to eliminate inputs from switches and such that require pull-down -- pull up and invert instead.
Dean