In modern integrated circuits cmos is usually used because a mosfet is much smaller than a resistor. Also, with either nmos or pmos there is always leakage current, which is avoided with cmos because only one transistor is conducting. If you're talking about discrete components, nmos transistors are usually a lot cheaper than pmos because of the manufacturing process.
As has been stated though, the choice largely depends on your application, cmos is not always best.