Oh well color of the horse makes a huge difference!
Washing your horse regularly and keeping him/her out of urine-soaked areas will keep your horse most stain-free.
I like QuicSilver the best, it is pretty concentrated and is good for the stained areas. Most horse shampoos are okay for the body for routine shampooings. Remember that the bluing shampoos will dry out the coat.
My favorite conditioner is Pantene (the human kind!) and the specific kind to look for is the "smooth and sleek" kind to yield a very soft coat. AFTER you are done, and your horse is still damp, apply ShowSheen or LaserSheen to the coat to repel future stains.
For really tough stains you can try dish soap, liquid bluing, OxyClean, Betadine Scrub, and even bleach. But remember to use this products SPARINGLY as they are not meant for hair and will dry it out and damage it quickly.
Keeping on TOP of keeping the horse clean will give you the healthiest, shiniest coat. Those trainers with sparkling white soft show horses don't get it just by giving them one really good bath...
Everyone has their favorite product; lots of stuff works.
Andrea