Waterborne primers can be very effective for all but the most stubborn stains. The key with waterbornes is allowing the primer to fully dry before applying another coat of primer, (for heavy stains), or applying your topcoat. PCI, (Paints & Coatings Industry), had a great article a few years ago where they explain the differences between solvent-based primers, (stain-blocking), and waterborne primers, (stain-locking). With solvent-based, it's easy to see when the stain is blocked because it won't show through the primer. With waterborne, the stain may show through the primer, but still be "locked" and not show through the topcoat. As mentioned, allowing sufficient dry times for waterborne primers is integral to "locking" the stain in. The biggest drawback IMO with waterborne primers is that sometimes you won't really know if your stain is fully "locked" until after you apply the topcoat.
For anyone interested,
this is the article I was referring to. Some really good info in there.