A lot of reasons, bud. Sometimes they'll scratch a horse because it's feeling a little sick in the morning or something else physical. Sometimes the horses will give an indicated that they're not going to run well the morning of the race by being listless (or the opposite, and they're way over aggressive) or refusing to show any energy in their pre-race routine. Sometimes they'll scratch a horse due to the track conditions (maybe it rained, or the opposite, and they entered hoping it rained). Sometimes a trainer scratches a horse just because of the competition in the race too. They generally don't know who else will be entered in the race before entering themselves, and they're hoping it came up weaker. There's any number of reasons really.