Use a Stain-Blocking Primer to Cover Flaws
Roof leaks, overflowing sinks, tobacco smoke and big spills can all leave ugly ceiling stains or dinginess that is impossible to conceal with plain old paint. But cover the stain with a coat of stain-blocking primer and your troubles are over.
The traditional favorite is white pigmented shellac. You can buy spray cans of pigmented shellac, but usually it's easier to brush it on. Just don't forget to pick up some ammonia or denatured alcohol to clean your brush. If you're painting over a ceiling that's yellow from smoke, roll a coat of shellac over the entire ceiling before painting with latex.
Sand Before You Paint
Over time, and as the layers of paint build up, bumps and crud can get stuck to the ceiling. On untextured ceilings, it's a good idea to start with a quick once-over sanding with 100-grit drywall sanding paper. This helps ensure a perfectly smooth paint job and increases paint bonding. The easiest way to do this is with a sanding pole. When you're done sanding, wipe the ceiling with a damp sponge to remove the dust.