Why is a check from a horse particularly hard to calculate for the defending general?
These answers restate the rules implemented by our open-source engine, which follows the WXF laws and is regression-tested against the official 110-diagram repetition casebook. Where an answer refers to a specific position, that position lives on the linked reference page, where the build verifies it against the engine before publishing.
Direct answer
Because a horse's threat depends on whether its leg is blocked, and that can change from a move that has nothing obviously to do with the general, a soldier advancing, an elephant repositioning, anything landing on or leaving that one orthogonal point. A check that looked impossible last move can appear out of nowhere, which makes horse threats unusually easy to miscalculate.
Why this differs from a chariot or cannon check
A chariot's threat is visible along an open line; a cannon's depends on a screen you can count directly. A horse's threat depends on a single point that is easy to overlook, because it is often nowhere near either the horse or the general, it is simply wherever the horse's leg happens to be.
The habit that catches it
Before dismissing a horse as too far away or too blocked to matter, check its leg point specifically, not just its distance from your general. A horse that looked safely blocked two moves ago can be fully free now, with nothing about the horse itself having moved at all.
Related questions
Does this affect attacking calculations the same way?
Yes, symmetrically, an attacker can miss that their own horse's check has just become available for the same reason a defender might miss it arriving.
Is there a shortcut for checking a horse's leg quickly?
Just look at the single orthogonal point the horse would step through; see the horse's leg for how to identify it.