You've heard it before, opposites attract. I've even seen a few cases where it seemed to be true, my wife & I for one. My daughter & her husband are another. She's a planner, he's free wheeling. She expresses her emotions, he holds them in. As for my wife and I, let's just say we have a strange and wonderful relationship -- I'm strange and she's wonderful.
I heard once a saying (I think from Larry Burkette) that in a marriage if both people are the same, one isn't needed. So what makes a good relationship?
I think you have to have a common background. Some fundamental values that match up. It also helps if you genuinely LIKE each other. I've seen cases where a couple were in love, but didn't like each other. After a while, they tire of each other. I've seen cases where the fundamental values didn't match. When times get tough, they go separate ways. When all that's left is the basics, the basics just don't match.
I've known a couple who were in an arranged marriage. In their culture, this was the norm. When they were young, the parents chose them to be together. They had a choice when they grew older, but they decided if the parents set this up, they would go through with it. Today, they are doing very well with two children. They actually liked each other and they had the same fundamental values.
I also believe it takes a commitment to stay together. Both people have to have the commitment. I've long said it takes two to keep a marriage together, but only one to split it apart. Without a commitment, there are two many times where it would be easy to walk away. Or walk to someone else.