Former cosmetic formulator here.
While the shampoo market is rife with puffery, there are some critical differences between the various shampoo ingredients.
surfactants These are the detergents, the heavy lifters of cleaning. ALL shampoos contain surfactants. Shampoos are made from a wide variety of surfactants, but mainly fall into three categories: anionic, nonionic, and amphoteric.
Anionic surfactants like soap and sodium lauryl sulfate (SLS) are lipid-type molecules that carry a negative charge. The lipid (fatty) molecule mixes well with grease and oil, and the negative charge allows the whole bundle to be rinsed out with water (here are also positively charged surfactants, but they’re not usually used in shampoos). Unfortunately, most anionics do this too well, and leave the hair stripped of all its natural oils, which looks and feels unpleasant.
Nonionic surfactants are not terribly effective, because they do not rinse as well as ionics, but they can be mixed with the anionics to mitigate their effects. The nonionics are usually synthetics, derived from ethylene oxide or glycols.
Amphoterics are unique in that their ionic character varies with pH. The best ones often make excellent shampoos by themselves, as they lather richly, clean well, don’t strip the hair, and don’t sting the eyes. Unfortunately, they’re really, really expensive, so only the more expensive shampoos use them in more than token amounts.
Cheap shampoos tend to be mostly SLS; as the cost goes up, the percentage of more expensive ingredients goes up too (mostly!). The most expensive shampoos tend to have the highest concentrations of the best surfactants. Unfortunately, some expensive shampoos use cheap surfactants and load up on exotic buzz-generating ingredients instead.
Conditioners Good shampoos often contain ingredients to condition the hair. Contrary to what Cecil says, you can definitely remove dirt and leave conditioners behind at the same time. It’s more effective to use conditioner separately, but the two-in-ones do work. Standalone conditioners usually rely on cationic (positively charged) surfactants. These have an affinity for the naked protein of the hair, and a small amount will stay behind after rinsing. This residue suppresses static “fly-away,” hides split ends, and coats the hair shafts, leaving them smoother-looking and shinier.
Cationic surfactants don’t mix well with the others, however, and other ingredients are used to make conditioning shampoos. Some nonionic surfactants have conditioning properties. Most conditioners are somewhat oily or waxy, and are selected because they don’t rinse off easily, even with surfactants present. Vitamins A, D, and E are lipids, and do have some conditioning properties, but using them is a marketing decision rather than a scientific one, and they do increase the cost considerably. Panthenol, or pro-vitamin B[sub]5[/sub], is an exception: it’s a water-soluble molecule that has a strong affinity for hair, and it really is very effective (glues split ends shut). Too much of it, in fact, will leave an unattractive residue on the hair.
The other ingredients in shampoos are preservatives, colors, perfumes, and various ingredients that build viscosity, opacity, and other esthetic properties. Herbal extracts, I’m sorry to say, are barely present in shampoo, and don’t do a damn thing.
The products sold in salons and high-end department stores have a price structure of their very own, and the markups are enormous. Some are very good, some are terrible, and you really need to be able to read the labels knowledgably to know the difference.
The point about shampoo ads is well-taken; styling products used in these ads are not only impractical for daily use (shine spray is almost pure dimethicone, and makes the hair really oily), but their effects often last for less than an hour.