Some studies have concluded that as many as 90% of all horses have ulcers.
Horses have evolved to eat forage (grass, mainly), and on an almost constant basis. Their stomachs are relatively small for their size, since they are designed to eat small amounts all day long. With the way domesticated horses are fed, many are only fed twice a day (some only once!) and many get at least half of their calories from grain, which doesn't absorb the acids in the stomach as forage does. When a horse's stomach is empty, the acids have nothing to work on but the stomach lining.
Stress can also contribute to ulcers. Horses that are showing or working hard, or traveling for example, my produce more stomach acid.
Studies have shown that pastured horses tend to have fewer ulcers than stalled horses, but sometimes there just is no access to pasture, so the best thing to do is offer smaller meals, more often, if possible. Also, alfalfa hay helps to absorb stomach acids. And when a horse is going through something stressful like extended travel, etc, it's good to give something like UlcerGard that can help prevent ulcers.
Signs of ulcers can be subtle at first: losing appetite, especially for grain or just a certain type of feed; drinking a lot or just dipping their muzzle in water and not wanting to drink; lack of "bloom"; grinding teeth; lying down a lot, or lying on their backs with their feet in the air, or "dogsitting".
There has been a lot of research lately on ulcers and many articles in horse magazines about it. These days there are plenty of medicines out there to try to prevent ulcers, and Gastrogard is the best medicine for treating existing ulcers (though it's expensive, it really works).