I'm calling BS on all that Cloud and Barret criticism.

Cloud as he's presented is this badass elite super warrior mercenary. He is living in a fantasy world because, in reality, he was always just this awkward little nerd who never had the balls to fess up his feelings to a girl he liked.

His development is him facing his past, facing his weaknesses, and overcoming them. He recognized that he is not the "ideal" self he projected for the first half of the game but something far more human and weak.

As for Barret, he initially projects himself as a "righteous fighter" who is a great leader and should be heading the crusade against Shinra. But we learn that his true motives are how Shinra utterly ruined his life. He comes to see that he was never cut out to be a leader and that he was doing the wrong things for the wrong reasons.

VII haters and fanboys are both equally blinded.