The Persian army wasn't composed of monsters, to start.  In the movie, many of the enemy soldiers are deliberately made to be monstrous and non-human.

Additionally, the movie pays only lip service to the thousands of non-Spartan soldiers who fought (and died) there.

The battle scenes are complete fabrications - the Spartans pay lip service to their proper formation, but abandon it for individual heroics at the earliest opportunity.

Essentially, it would be easier to ask what is <i>correct</i> about the movie than to list the differences.

edit: 

I've found an interesting [PDF][1] which discusses the differences (link is to actual PDF).  There are important differences in Spartan motivation, the reason such a small force was sent, Persian army size, chronology (especially the well incident), and equipment.

[Cracked][2] says the movie was saved by its inaccuracies.

[This page][3] takes my advice (in advance) and lists the accuracies instead.


  [1]: http://www.bayareanewsgroup.com/multimedia/mn/entertainment/300_history_031407.pdf
  [2]: http://www.cracked.com/article_15014_11-movies-saved-by-historical-inaccuracy_p3.html
  [3]: http://www.scottmanning.com/archives/historicalaccuraciesof300.php