For example, even though I don't really care for Ultimecia as a villain, she was the perfect antagonist for the game. The whole game, Squall is struggling with the old proverb "no man is an island." He needed to learn to depend on others and let others depend on him. She was an island, though. Time Compression would have created a world in which only she could exist. That made her the perfect antagonist for that story.
By the same token, Cloud was confused, yet sought the truth. Sephiroth was confused and only wanted to hear the version of truth that fit what his mind created.
Zidane wanted to know who he was and where he originated. Kuja wanted to forget.