I used to be indifferent to primers and usually bought the cheapest one available, figuring that it was going to be covered by paint anyway. But primers can make a lot of difference in the quality of the final finish, and the difference in price between the cheap ones and the expensive ones is minimal, especially when a good primer can sometimes save you an extra coat of paint. For woodwork, I don’t know of a better primer than Benjamin Moore’s Underbody. Available in both an alkyd and a latex formula, this primer has a lot of body for smoothing out imperfections, and it’s sandable.
I use B-I-N, a fast-drying shellac-based primer, for spot-priming knots and stains or for priming end grain in the field. B-I-N also makes a water-based primer that I’ve used in both interior and exterior applications and that is good at hiding stains. While PVA (polyvinyl acetate) primers for drywall are cheap and easy to put on, they don’t do anything to stop vapor transmission. For plaster or drywall in the bathroom, it makes sense to pay a bit more for a primer that is specifically intended to inhibit vapor transmission, like Benjamin Moore’s Alkyd PrimeSeal. There are also primers intended specifically for use under wall coverings. Paints I’ve worked on a lot of old houses, so I’ve come to appreciate the ability of a flat latex paint to hide flaws in the walls and to go on quickly and easily. But if you’ve ever lived in a household with small children, you know how hard it can be to keep painted walls clean especially bathroom walls.