The nice explanation for this phenomenon is that opposites fall for one another due to their complement, as each is supplying what the other lacks.

That explanation sounds nice and fits well into a sensitive world where everything must be pleasant and happy.

The utility of two very different people being a more effective team is obviously true, but that does nothing to explain the pull each feels toward the other.

This is the real answer: When two people are radically different there are more opportunities for accidental cruelty between them as they go about their normal lives. An extrovert talking to everyone they meet bothers the introvert, and the introvert’s isolation bothers the extrovert. An introvert can feel hurt when they see their outgoing partner being happy in conversing with strangers. The extrovert can be hurt when they see their introverted partner completely happy and content being alone.

These hurts make each want to justify their way of life to the other and prove that their way is better. The hurt makes them expend their time and energy on the other person. It makes them invest in eachother.

The simple disposition of being opposite to another doesn’t create attraction. The act of being outgoing or more closed off doesn’t create it either. The free spirit and the moral code do not automatically fall in love. It’s the hurt that does it.

Seeing someone else happy living a radically different lifestyle causes pain in us as it makes us question ourselves. It hurts to think that maybe we are living the wrong way, and maybe they are better at life than we are. It makes us want to prove them wrong and validate our existence. It makes us frustrated, and the frustration makes them stay in our minds. Every time we try to prove them wrong their opinion matters more to us. While unintentionally chasing after their approval, attraction will follow. This process of accidental love can grow over decades as each partner draws from vastly different life experiences which unfold as the couple draws closer together.

Am I wrong?