What does it take to make a relationship work long-term? Love. Not necessarily romantic love, but the kind of intense, unconditional love that Jesus demonstrated. If we were perfect, I think any two people could make a relationship work.
That said, obviously we're not perfect and can't expect ourselves to be. What I look for in a person is a dedication to becoming a better person, as well as perseverance and commitment. If I like a guy and am convinced that he will put just as much (if not more) effort into making a relationship work as I will, other things like personality and interests become a whole let less important.
Of course, similar interests and personality make things a lot easier. But easier isn't necessarily better. I know with my best friend, it's our similarities that help us connect, but it's our differences that help us grow. I suspect if I married someone very similar to me, we'd have few conflicts in our relationship. If I married someone very different, we'd probably clash a lot more, but if we worked through it, we'd probably grow as a result. So I guess a balance between similarities and differences is good.
In general, I think our society emphasizes things like compatibility a little too much. No relationship is perfect and I highly doubt there's "the one" who is ultimately meant for me. If we stopped focusing so much on whether or not a person is a good fit for us (within reason) and just genuinely loved and cared for them, I suspect our relationships would be a lot more successful.