So I was going to write something about the difference between the protagonist and the main character, but decided to look up what others had said. The first Google hit was for John August's post from July on the topic, the comments of which reference Craig Mazin's post on the same topic. So, that ground having been covered, let me see if I can come up with another angle.
What a writer means when he says "protagonist," "hero," or "main character" seems to depend mostly on that writer's opinion -- they're not always hard and fast terms.
"Protagonist," despite its pretentious Greekiness, is the easiest and probably the most widely agreed-upon. As Craig Mazin says, "I define the protagonist as the character who changes in order to live his or her life by [the] propositional argument of the theme." Imagine a story with two main characters, one of whom goes from being good to being evil, and is hunted and defeated by the other. The hunter, in this case, is the obvious choice for "protagonist," assuming he undergoes some level of change. But what if the "good guy" undergoes no change? Is the "bad guy" now the protagonist? Nobody is changing "in order to live his or her life by the propositional argument of the theme." Does this story have no protagonist? Can a story have no protagonist?
"Hero" implies a level of heroism, especially in contrast with some level of villainy present in one or more of the other characters. No one1 would seriously claim that John McClane, Luke Skywalker, or Martin Brody aren't heroes. But is Phil Connors a hero? What about Lester Burnham? Michael Dorsey?
As I see it, the fundamental problem with August's definition of definition of "hero" as "the character we want to see win" is that the instinctive opposite of "hero" is "villain." There is no identifiable villain in Groundhog Day. There is an antagonist -- Phil's own selfishness -- but "villain" is not synonymous with "antagonist." Groundhog Day has an antagonist (and its opposite, the protagonist), but no villain (and thus no opposite, the hero). Now, if we define "hero" the way August does, then trivially Groundhog Day has a hero, but I think our other dramatic associations with the word "hero" render this definition problematic.
Another problem with "hero" is that we don't always know what the obvious candidate for "hero" really wants. Take Casablanca. We don't really know Rick's motivation until he tells Ilsa to get on the plane with Victor! Is he not a hero up until that point? He's sure acting non-heroically in the scenes leading up to the airport. On the other hand, if the film is constructed properly (which, Casablanca? definitely is), then we still root for that character to get what he wants, even if it's something as small as wanting another character to stand here or there, or say this or that. We want him to win every conversation, every interaction, every beat.
Yet another problem with this definition is that it's subjective. If an audience member wants Emperor Palpatine to win, then even if George Lucas thinks Obi-Wan is the hero... actually, since Obi-Wan is a complete failure, doesn't get what he wants, and doesn't learn from his mistakes, he's neither hero nor protagonist. Okay, bad example. Let's try again.
If an audience member wants Belloq to win, even if Kasdan, Spielberg, and Lucas think Indiana Jones is the hero, then as far as the audience member is concerned, Belloq is the hero. In the unlikely event this audience member sat down and chatted up Kasdan, Spielberg, and Lucas about Raiders of the Lost Ark, none of them could refer to "the hero" without having to specify who they meant, thus rendering the term useless.
"Main character" is pretty universally agreed upon to mean "the character the story spends the most time with." Of course, in this definition there is an implicit assumption that there is one character who the story spends the most time with. Who's the main character of Syriana? None of the five largest roles -- George Clooney's CIA agent, Alexander Siddig's prince, Jeffrey Wright's lawyer, Matt Damon's energy analyst, or Mazhar Munir's budding terrorist -- have substantially more screen time than the others. Are they all "main characters?" What about a film that, for better or worse, has twenty characters each with equal screen time? Is it even meaningful to call them all "main characters?" Where do we draw the line?
In practice, we come across few films that have more than one or two plausible candidates for "main character," nor do we usually strive to create works whose characters defy all attempts at classification. So given a movie like Die Hard, which has a blindingly obvious main character -- John McClane -- is it useful to identify him as such? Are there qualities or attributes that all main characters share, besides their dominance of the screen? I don't believe so. Take Face/Off. Travolta and Cage's characters (despite who's playing whom) have roughly equal screen time, but one (Castor Troy) is definitely a villain and antagonist, while the other (Sean Archer) is definitely the protagonist and, depending on your definition of "hero," a hero. But they both share screen time. So they both qualify as "main character." Or take any romantic comedy, where the two leads share equal screen time, are both protagonists, and neither of whom are villains or antagonists.
Except "main character" is also a tainted term, because instinctively it's used to mean the same thing as "protagonist," and because in most movies, the main character is also the protagonist and, frequently, the hero (by whatever definition). Argh!
Problems of definition aside, the overwhelming majority of movies have the protagonist, hero, and main character rolled up into one. Sometimes you get a character who's all three, and then secondary characters who are also heroic, and maybe secondary protagonists -- but I think it would do us all well to study great films that don't follow this paradigm.
In fact, ultimately, if you say, "This character is the [hero|protagonist|main character]," what you're really saying is, "This character is the [hero|protagonist|main character], and therefore X, Y, and Z." If the terms don't accurately serve that function, they should be replaced with something else.
1 You know what I mean.