I don't get how you can say KH2 wraps up character arcs and story better. KH2 introduced a bunch of characters (mostly Organization members) and basically gave them no character at all - they just served as humanoid bosses to fight. Sora's character arc was... find Riku and Mickey? He finds Mickey and (to buy time) Mickey doesn't reveal key info about Riku. Then they throw in the "surprise" that the leader of the Organization is the Nobody of Xehanort - this happens in the middle of the game. What were we doing before? Just wandering around Disney worlds that we knew did not have Riku or Mickey. KH2's story was messy because it basically started in the middle of the game and the main villain's goal was barely elaborated on. When it was found out that he was using Sora to go to worlds to release hearts to construct a new Kingdom Hearts, Sora's response to this was... to continue going to worlds and release more hearts. For more than half the game you don't really know why you keep going forward, you just do and scenes happen that sort of vaguely clue you in. Oh and throw in Kairi getting kidnapped again. At least in KH3 you knew what you were building towards - saving Aqua and Ven, then ultimately the keyblade war. Whether the execution was good or not, at least the story was clearer and executed better than KH2's.
NOTE: I love KH2 a lot, I just can't let it slide when people say that its story was better than KH3.
You forgot to mention Maleficent. The game revives her with a lame excuse, makes her useless and then leaves us in the dark about her fate at the end of the game. KH2 really wraps up arcs nicely, uh.