Amir is the main character of the novel, Kite Runner. He is characterized as a selfish coward for most of his youth. He also desperately wants the affection of his father Baba, but he feels that he does not have it, because he is so unlike him. Baba is a man of courage, conviction, and principle. Amir is none of these things. Hassan, who is a servant boy, is much more like Baba. So, Amir has mixed feelings when it comes to Hassan. In one instance, he watches Hassan get raped and does nothing about it. And this guilt lingers. When Amir is finally in America, he is much of the same - a selfish young adult. However, he comes to redeem himself in the end, as he faces his demons and becomes a selfless man. He adopts Sohrab and faces Assef with courage (and is even beaten by him). Hence, we a transformation.
When it comes to Soraya, we see a transformation as well. Soraya is the daughter of Afghan general Taheri and his wife. However, she is "damaged goods," because when she fled as a refuge she lived with a man that was not her husband and was no longer a virgin. In this society, this was a huge taboo. Her healing process began when Amir still loved her and wanted to marry her. This also brought complications, because she could not bear children. So, when they adopt Sohrab, the healing process is complete.
In light of the above, both are broken people, bound by their past, and find redemption in each other and an adopted child.