Basically people are mirrors of the things you like or don't like about youself. If you don't like something about someone, it is generally a side of youself that you don't like. If you like something about someone, it is generally a trait or quality that you have or want to have. People tend to continue to meet people with the same qualities over and over again. Such as thinking that the grass is greener and moving on to another relationship just to discover that they have the same problems. The theory is more complex, however an example: If you are passive (allowing others to step on you) then you are likely to end up being around people who are aggressive (want to always be in control). I see it this way, everyone you encounter has something to teach you, especially the ones you don't like. If you see a pattern in your friends and partners, it is time to look at yourself and ask what it is about you that attracts these people. Once the lesson is learned the person moves on or the lesson is repeated until learned.