Not fair! Frodo showed resolve for 99.99% of his journey.
To bad for him that it is precisely that 0.01% that really counts. He might have demonstrated heroism throughout parts of the journey, but in the end he turned villain by putting his personal wants above the needs of everyone else. Just because it all turned out well, doesn't change that fact.
Imagine for a second that the fortuitous set of events (Gollum showing up, the ensuing fight and the ring falling into the lava) doesn't take place. By Frodo's own decisions and actions, he would have walked out of there with the ring. With such close proximity to Sauron, it would have been virtually assured that the ring would have been captured and returned to its dark master. Would Frodo still be a hero? I ask because the only reason why this didn't transpire was due to dumb luck and for "story reasons". Frodo was faced with the story's climactic choice, and he choose wrong. A true hero is made or broken within that decision; the decision to act selflessly for the greater good.
If he wasn't merciful to Gollum, he never would have made the last 0.01%.
That's the "story reasons" that I was referring to. It only worked out because it's a story and the good guys need to win. Realistically, based on the actual information available to him, Frodo chose incorrectly with Gollum, but for story reasons that eventually worked out to their advantage due to a lucky twist of events. Logically though, he didn't see Gollum for what he truly was, but Sam did.
And then there is this:
Sam is the hero, not Frodo. I understand that by that point in the story the evil of the ring had completely worn Frodo down, but given that situation, it was a very poor play on their part. Once he no longer possessed the strength to walk up the slopes of Mount Doom, he should have let Sam carry the ring for the final 0.01%. Sam was physically strong enough (as he was able to do the task while carrying Frodo) and he had already demonstrated resolve against the ring's evil.
Sam is the hero, not Frodo:
- Sam recognized Gollum for what he was and what he was planning, Frodo did not (regardless of it working out for "story reasons")
- Sam stayed loyal and true to his friend while Frodo cast him aside
- Sam defeated Shelob, when Frodo had failed to
- Sam saved Frodo's hobbit ass from the Goblins
- Sam carried Frodo up Mount Doom
- Sam begged Frodo to cast the ring into the fire and Frodo chose to keep it for himself
Sam was clutch when the game was on the line, and it's in those moments that heroes are forged. That said, and with all the things I pointed out above, I'd still have considered Frodo the hero (alongside of Sam) if he had made the heroic choice to throw the ring in the fire. His ultimate test was that
decision, and he failed.