Didn't the 300 Spartans actually beat the Persians, unlike what was presented in the movie, or have I got this incorrect?
No. There were a few factors that lead to the ultimate demise of the Spartan army. The only one the movie had right was a traitor showing the Persians a secret path leading behind the Spartans.
The Spartans still fought, and eventually, there armor and weapons began breaking. Still the Spartans fought using fist and tooth.
Eventually, the Persians losses were so high, that Xerxes ordered a volley of arrows be fired upon the remaining Spartans. Also, I do believe Leonidas died in battle before the battles end.
One thing that should be pointed out, that even the Athenians proved to be better warriors than the Persians, when they defeated them at the battle of Marathon, and they did not receive any aid from the Spartans, even though it was requested. The Spartans were in the middle of celebrating a religious festival, and did not dare interrupt it. (Another myth in the movie. The religious festival was already done with by the time the battle of Thermopolyae came, and the Spartans in reality honored the celebration.) By the time the festival was over, and the Spartans arrived, the Athenians were victorious.
And what a horrible disgusting reality it was. A deranged military dictatorship installed to keep up the system of slavery. A rite of passage was murdering slaves...
Spartan society was disgusting.
I find the Spartan society to be highly honorable. Very brutal, but honorable.
Also, the rite of passage was being beaten, stealing, beaten others to a bloody pulp, being beaten some more, fighting, and receiving even more vicious beatings.
There was even a yearly event that was going out and killing random slaves too keep there numbers down so they could eventually outnumber and rise against their masters.
I will even go as far to say that Spartan loyalty and fierceness rivals that of the Nazi's SS and Hitler youth.