I think Cloud was a pretty good character that way. His motivations are murky while you, the player, are being dragged by the nose through the story, but he gains development as you, the player, gain more autonomy in the game world. Tragic history is revealed and it's a bummer because it's just junk that happened to him, but it turns out he's just been lying and living with the shame of that. It turns out he really is a badass, he really did do something besides sit in a corner and let plot happen to him.
Ok, time to play "I know more about Final Fantasy VII than any reasonable sane man should".
I'm going to have to explain some things first, because there are lot of moving parts to explaining how Cloud ended up the way he did.
The Calamity from the Skies: Jenova.
"It looked like... our... our dead mothers... and our dead brothers. Showing us specters of their past." -Ifalna on Jenova.
The first thing you have to remember about Jenova, is that it is a shapeshifter. But not only can it take the looks of whatever it wants, it can mimic their personalities and actions. Jenova has the ability to read surface thoughts, and adjust its actions to your expectations.
The second thing: Jenova can assimilate other beings. By infected another being with its cells, it can mutate and manipulate them. Actually, if you pay attention in the story, something really kind of disturbing is revealed: Monsters are possibly the descendants of the Cetra that Jenova infected before she was put in a dormant state by the last pure Cetra.
What is the process used to create Sephiroth, SOLDIER, and Sephiroth Clones?
This is a neat one, and something that isn't touched on much in the translation. I don't know how much of this is because of bad translation, and how much is just stuff that wasn't even in the original Japanese. Most of my knowledge here comes from a combination of some things we DO see in the game (Sephiroth project) and things from the Ultimania guide.
So the first thing let's covers is Sephiroth. Sephiroth was a human being who was injected with Jenova cells while still in utero. Every bit of his DNA is permeated with Jenova cells. This increased his strength and gave him "special" powers beyond normal humans. He is effectively a human/jenova hybrid.
SOLDIER. Members of SOLDIER are screened for two things, the first is for actual ability. I mean they were elite troops and all, but the second was a strong sense of self. We'll get to why in a minute. They were injected with Jenova cells and given Mako showers, enhancing their physical abilities.
Sephiroth Clones were a thing created by Hojo. They were created from the survivors of the Nibelheim incident. The theory Hojo had was that Jenova cells, given time, would try to reconnect with each other. The process used to create them? Injecting them with Jenova cells and giving them Mako Showers. This is why Cloud could pass as an ex-SOLDIER. He actually did have the same abilities. So what is the difference? Unlike SOLDIER members, they weren't screened for a strong sense of self. They also were traumatized by the Nibelheim incident. Because of this, they were left much weaker to the manipulations of Jenova.
What the hell happened to Cloud?
After the escape and Zack's death, Cloud was still in a fugue state. Most of his memories were buried underneath trauma and the manipulation of Jenova through the cells. He wandered toward Midgar because that is what Zack told him to do. That was when Tifa found him. And this is where we get to the interesting bit!
The Jenova cells in Cloud acted on instinct, doing what it had done in the Cetra in the past, it pulled the memories off of Tifa to try and figure out how Cloud should act. Tifa remembered Cloud leaving to join SOLDIER, so that was what it picked up. It combined this with Cloud's memories, and it used his memories of Zack to fill in the blanks of what a SOLDIER was supposed to act like.
Cloud wasn't lying, and he had no shame for lying, because he had no idea that what he believed wasn't 100% true. The "voice" that keeps talking to him throughout the game is his real self, trying to make him remember, trying to reassert itself, but he didn't have the strength of will to manage it.
So how could Sephiroth control Cloud?
Sephiroth has a sense of self that is huge. How huge? Like, seriously huge bro. See here is where it starts to get interesting as far as what Sephiroth is doing the whole game. Unlike every other being that Jenova had ever infected, Sephiroth was different. It couldn't control him. Instead, Sephiroth controlled IT. And through it, he could control every other being Jenova controlled. Actually, something not mentioned in the game itself, but is really neat, is that Sephiroth never leaves the crater in the entire game. The thing you are chasing the entire time is Jenova shapeshifting to appear as Sephiroth, under Sephiroth's control. That is why you keep fighitng Jenova pieces each time you run into it.
So why couldn't he control Cloud late in the game?
THE POWER OF FRIENDSHIP. No really, through his connections with the other party members, Cloud gains self confidence and a strong sense of self, allowing him to ignore the Jenova commands.
And here is where I really like Cloud in Final Fantasy VII: Cloud was a loser, who failed at everything he tried to do, who was completely brainwashed, experimented on, and had his mind deconstructed by an alien superbeing, and in the end, he grew, he became stronger, and he learned who he was. And because of that, he was able to Omnislash Sephiroth's punkass into the lifestream.
Source: I wrote this like, 100% from memory (other than the quote, I knew the jest of it but couldn't remember the exact wording so I looked it up), so it may not be EXACT on on every point. Most of my memory comes from Ultimania guide translations and playing the game a lot. So booya.