Drewpy is approximately 1/2 correct. Lemme explain:
New wood should be primed with oil.
That's if you can find a linseed oil based primer anymore. You see, linseed oil based primers penetrated deeper into the wood because oil molecules are tiny compared to alkyd resins, and therefore can penetrate deeper into the wood than alkyd resins. In fact, one of the reasons why the old linseed oil primers were thinned with the slower drying turpentine was to allow for a longer drying time, and therefore deeper penetration into the wood, and therefore better adhesion to the wood. Nowadays, however, you can only get interior alkyd primers, and alkyd resins are so much larger than oil molecules that they don't penetrate as deeply. So, alkyd primers are thinned with the faster drying mineral spirits because they don't penetrate very deeply into the wood anyway because of their larger size. Thus, thinning alkyd primer with turpentine would only increase the drying time without increasing either penetration or adhesion.
Still, alkyd primer penetrate and adhere better to wood than latex primers which are vastly larger still, so using an alkyd primer on wood is better than a latex primer.
Generally, if you want to paint over oil based paint with latex paint, you can either sand the old oil based paint down, or paint over it with an alkyd primer which will both stick well to an alkyd paint and dry rough enough for a latex top coat to stick well to it.
"...new masonary should be primed with latex."
New concrete (less than two years old) is still highly alkaline. That's because they make concrete with hydrated lime, which is Ca(OH)2 or HO-Ca-OH. Over the first two years of that new concrete's life, the hydrated lime, Ca(OH)2, reacts with the CO2 in the air to form limestone, or calcium carbonate, CaCO3. As that happens, the alkalinity of the concrete subsides.
If you want to paint over new concrete within the first 2 years of it's life, then you need to use a special acrylic primer made specifically for new concete. Such a primer will be made from polymethyl methacrylate resins that are chosen specifically for their high alkaline resistance. Not all latex primers are made with PMMA resins. A general purpose latex primer for wood or drywall will typically be a "PVA" primer, meaning it is made with polyvinyl acetate resins, and won't have the high alkaline resistance you need over new concrete.
If the concrete is more than 5 years old, it's no longer alkaline, and you can prime it with either oil or latex primers. However, concrete is rough enough that it really doesn't need to be primed, and you can paint directly over it with your paint if you want.
...and either oil or shellac for covering knots in wood.
The reason why knots in wood will often "bleed through" a latex primer is because knots contain a lot of "tannin" or tannic acid. Tannic acid is a brown material that's highly soluble in water. So, if you use a latex primer over bare wood, the knots will often bleed through because the tannin in them dissolves in the water of the primer. Tannic acid isn't soluble in either mineral spirits or alcohol, and so it won't dissolve in either an alkyd or shellac based primer, and therefore won't "bleed through" oil based or shellac based primers.