This is what I've generally noticed about people in long term relationships which have lasted for a while and both of them seem very happy with each other - they are very good friends with each other. They either have something strongly in common (eg. they play a certain sport, share a certain hobby, share a love of a particular music/film/tv show) and/or they come from the same socioeconomic background and share broadly the same life values.

Over time, the frequency of sex decreases in every relationship, often to the point where you're barely having it or not having it at all. Therefore any relationship based on looks is bound to fail - this is true regardless of how good looking either person is.

Being in a relationship for money or status is shallow and not the recipe for a happy one. You like something external to the person, not the actual person. This is always going to lead to unhappiness and a failed relationship in the long run.

You just basically have to be good friends with each other. Friends look out for each other, they have stuff in common, friends like each other as people and not just as sex/money/status objects. This is part of the reason why people say to develop hobbies - it's because you hopefully meet someone similar to you. You have something in common, someone similar to you, which means you are far more likely to stay together in the long term.

Looking forward to replies and challenges of this view.