In the book, Digital Computer Electronics, there is a diagram on page 140 (figure 9-4 a) of a flip-flop used in static MOS RAM to store a bit. The book says that Q3 and Q4 act like resistors, which leads me to wonder, why aren't normal resistors used here?
It is just much simpler to use a transistor as weak pull-up than manufacturing actual resistors on the silicon.
Resistors can be larger and may require a more complex process for manufacturing both resistors and transistors, so overall it is cheaper to use transistors.
The current through a resistor will increase proportionally with voltage, and the power dissipation will increase with the square of voltage. The current through a depletion mode MOSFET will essentially top out at a certain voltage and then remain nearly constant beyond that (within device limits). This makes them extremely useful for passive pull-ups, since they will draw less current and thus dissipate less heat than would resistors that are sized to supply an equal amount of current at the logic switching threshold (and would thus supply more current when an output is pulled all the way to ground).
IC design is very different to discrete design.
In discrete design resistors are the cheapest components and are available in basically whatever value you want. Transistors are more expensive and can't easily be purchased with arbitrary parameters.
In IC design resistors require a long track of semiconductor material which takes up a lot of space, transistors are much smaller. Since the cost of an IC is primarily driven by silicon area this means that on an IC transistors are much cheaper than resistors. Field effect transistors on an IC can be fabricated with varying ratios of channel width to channel length making it easy to create deliberately "weak" transistors.