In a lot of my writing over the last month I have been pretty critical of Persona 3's storytelling, so I have decided I am just going to write a lot about how the game managed to redeem those failings and turn the whole thing around into a pretty good story.
The single factor that covers up most of the weaknesses in the game's story and makes the story truly enjoyable is the strong central cast of characters: the members of SEES. These characters, the main characters who fight alongside the main hero and struggle through many victories and tragedies alongside him, are likable, interesting, believable, and complicated characters who grow and change greatly across the course of the game. In many ways, I consider the core cast of Persona 3 to be one of the best groups of characters I have ever seen in a videogame.
Two of the SEES characters, Yukari and Junpei, and particularly important to the game experience. These two characters are introduced at the start of the game, and they are the very first characters to join the hero in battle (in fact, you need to climb the entire first block of Tartarus with only their help). They are also the hero's classmates and dorm-mates who sit right next to him in class and struggle right alongside him through all of the troubles of his double life. Just like the hero, they start the game as ordinary students who have just joined SEES and have no real experience with the Shadows or the Dark Hour, and in the end they stand by the hero in the final battles, risking their lives alongside his. In many ways, they are the most believable characters in the game, and the events that help them change and grow are the most memorable and endearing scenes in the entire story. Because of all of these factors, these two characters mitigate the impact of one of the game's greatest flaws.
As I wrote at length about before, I don't consider the main hero of Persona 3 to be a very good character, but in many ways the strong presences of Yukari and Junpei throughout the game helps make up for that weakness. Yukari and Junpei are alongside the hero through the entire game, but unlike the static and silent hero, they speak up and have their own stories, and as a result they often supplant what should be the hero's role in the game. When a hero needs to say something but the silent protagonist remains silent, often it is Yukari or Junpei who will step forward and respond in his place. One place in which this is done very well is in the case of Ryoji. The bond between the hero and Ryoji is what is essential to the game's story, but all of the interactions between the hero and Ryoji are brought about because Junpei befriends Ryoji immediately. Junpei's automatic friendship with Ryoji is not all that important in of itself, but it works to make up for the limitations of the hero's silence. In another example, a minor plot element important to the game, the initial fear and hesitation the members of SEES feel regarding their Evokers, is explored entirely through Yukari, and it is left vague whether the hero struggles with that at all. Beyond all of that, Yukari's grief over her father's death and struggle to understand why he died works well to fill in for the game's lack of development regarding the hero's dead parents, and Junpei's involved and touching romance with Chidori helps add a lot to a game where the hero's own romance subplots are detached and often flawed. The strong similarity between the hero and those two characters, and the strength of their stories, works well to make a strong story out of a game with a weak main hero.
However, Yukari and Junpei are not the only interesting characters in the game; just about everyone in SEES is a great character. Akihiko and Shinjiro's old friendship, marked with tragedy and disagreement, and way Shinjiro's death moves Akihiko to become a much greater person, works incredibly well. While it develops a bit too rapidly all at once near the end of the game, the story of how Aigis, a robot built only to destroy Shadows, tries to find a place for herself in the world as a living being is surprisingly moving, particularly due to the Aeon Social Link, and is probably one of the best versions of that kind of story that I have seen in quite a while. I can say similar things about almost every member of SEES, really. Even minor subplots, like Junpei's struggle to overcome his jealousy of the hero and disappointment with his own limitations or the way Ken is embarrassed about and tries to hide the simple fact that he really is still just an elementary school kid who misses his mother and likes superhero stories, make the game characters feel genuine and help the player empathize with them.
As a whole, the members of SEES go through a classic "heroic journey", where they start as normal people and after many trials end up changing their world for the better. At the same time, they go from being a group of people who hardly know each other and often don't get along into a group of people who have formed an unbreakable friendship and are willing to face certain death in order to hold on to that bond. The grow up from just being a group of people trying to serve their own interests and become a band of people who are willing to abandon an easy road to happiness in order to build a better future. It is a very common kind of story, but this game proves the general rule that as long as you put a lot of effort into making a story good, it doesn't matter how common it is. Also, in this game where the main hero is left undefined, having the entire central group of characters undergo the heroic journey helps a lot in implying that the hero himself has changed and undergone such a journey, even though the game system does not support such a journey very well in of itself.