The Persians won the battle of Thermopylae because:
The Spartans realized they were outnumbered and fled.

A fellow Greek showed the Persians a secret path.

Leonidas was immortalized in a shrine.

The Spartans delayed the Persians.