Why is my Hero (not Leader) surviving when s/he falls in battle and I win the battle?

There is a passive ability called Resurgence. Units with Resurgence will respawn at the end of combat, if you were victorious.

Reading about it, it seems that they added an option to the game to enable Resurgence to all heroes automatically. This was to address a common complaint that having heroes die permanently was a bit too harsh. Without it, you could fight a huge battle, do very well, but make one mistake near the end and lose your hero. Even though you won the battle it's still really a heavy loss to have lost your hero, possibly even forcing you to reload the game and fight the battle all over again. (There's also a similar with auto-calcing fights.)

When your hero has Resurgence, you can then fight with him without worry, and even if he happens to die because you over extended him, as long as you win the battle he'll revive.