The main hero of Persona 3 works very differently than the other characters in the game. As I mentioned last time, most of the characters in the game are specialists who have distinct strengths and weaknesses, but the main hero is not like them. However, that does not mean he doesn't have strengths or weaknesses at all, or is some kind of jack-of-all-trades who can do everything. Instead, he can completely change all of his abilities by changing his equipped "Persona" even in the middle of battle, so he can be a master of fire magic one moment and a strong physical fighter who is weak to fire attacks the next. He is a character who is always a specialist with both strengths and weaknesses, but whose strengths and weaknesses are always changing, and this ability is central to the game.
The fact that the main hero works differently than every other character is fairly important considering two major gameplay details: the hero is always in the party and it is Game Over if the hero falls unconscious. With these two rules in place it would be a very poor idea to make it so the hero has consistent strengths and weaknesses. If, for example, the hero was always weak to ice attacks, then every enemy who could use ice attacks would have a significant chance of killing the main hero and causing a Game Over. Such a thing would make particular battles artificially difficult simply because the enemy could use ice attacks. Another problem is that a specialist hero's strengths could become too dependable. If the hero always has strong fire attacks, for example, then allies who also specialize in fire attacks would be a lot less useful. As such, unlike other characters, it doesn't make much sense for the hero to be a specialist.
Just because the hero can't be a specialist, though, doesn't mean that he should have no strengths or weaknesses. In addition to being bland, that would mean that the battle system would not work as well. Unless you get ambushed by the enemy, the hero always moves first in every fight in the game. In addition to being a chance to set the team's tactics, this is usually your one chance to end a battle quickly without wasting a lot of time or taking a lot of damage. Unless the hero has the strength to seize such a chance, battles become difficult. Of course, if the hero is too strong then the game becomes too easy. Thus, the game system creates a paradox in which the main hero can neither be a specialist nor a generalist. This is hardly a problem unique to Persona 3 (I think any game that has both a true "main hero" and a supporting cast has this issue, and most solve it poorly), but unlike most other games with the problem Persona 3 has a great solution.
The hero of Persona 3 is a specialist who constantly changes his specialization. He could be a master healer who is weak to fire and uses lightning spells one moment, and a strong fighter who uses ice magic and is weak to wind the next. However, the hero's flexibility is limited by his current list of Personas, so it is almost impossible to have the perfect ability set for every situation. Unless you plan perfectly when creating a Persona line-up, there will probably be gaps in your abilities, Perhaps you may not bring any Persona that can use wind, you may not have a Persona that is strong against fire, or worst of all you may have forgotten to bring a Persona that can heal your allies. However, even if you have planned well and have everything covered, the hero still would not be overly powerful. Even if the hero can both use and be resistant to every attack type with his current line-up of different Personas, there is no guarantee that you have a Persona who can be both resistant to an enemies attack and able to attack its weakness at the same time, since you can only use one Persona at a time. As a result, this system is flexible, customizable, encourages planning, introduces an element of unpredictability, and lets the hero be powerful in his own right without overshadowing his allies completely or making them obsolete. It is a really good system overall.
One thing I like in particular about the system is that it encourages creating a team that can compliment the hero's ever-changing abilities. If you don't have a Persona that can use ice attacks, you can bring Mitsuru to perform ice attacks instead of the hero. If you forgot to bring a Persona with healing magic, you can bring Yukari to heal everyone. If you need to heal but don't have Yukari, you can always switch to a healer Persona and perform her role yourself. The party changes to suit the current hero and the current hero changes to suit the party. It is an amazingly elegant balancing act that adds quite a bit to the game.