Well, that's an interesting question. Research in social psychology seems to support the idea of complimentarity, where people have different, but mutually beneficial skills or strengths and the idea that people tend to associate with those that they perceive to be most like themselves.
Most likely it's a combination of a bunch of factors. Things like geographic proximity and socialization experiences also play a significant role and research has been cited to substantiate both sides.
My guess is that we're probably more complex than one or the other, but social scientists do come up with some great experiments to look at human nature. I'll be interested to see your hub.