Is seems to me that there are three major reasons why people show prejudice and discrimination against others. One is insecurity, the second cultural discomfort, and the third cognitive dissonance.
A person who feels insecure in his or her economic and/or social status, and/or feels so low on the social ladder that he or she feels shame is drawn to try to find another person or group whom he or she can feel is lower on the social ladder That enables him or her to feel better about himself. And, the more insecure he or she is, the more likely the person is to act aggressively to keep the “other" down below him or her.
Some people’s sense of personal insecurity is wrapped up the existing culture in which he or she was reared and in which he or she lives. When that is the case, if another person or group appears which has different norms, thought patterns, and practices. That causes the person to feel genuine psychological the discomfort is great, the person feels that the “other” is a threat to him or her and/or to the culture in which he is imbedded. That can cause him or her to consider the “other” as an enemy to be fought against.
If the local culture in which the person lives is almost homogenous, it becomes a cohesive group. If that local culture is largely built around a core of racism, ethnocentrism, and/or xenophobia, that will put great pressure on the individual to conform tightly to that norm. If the person does not conform, the members of the community will put genuine pressure on him or her to do as the group does. If the person does not respond by coming back into the fold, the group will label him or her an outside and will make life very uncomfortable or isolate him or her That pressure is enormous.
You forgot, "They're assholes".
Sorry, couldn't resist the cheap shot.
Actually this was a really full of info/thoughtful post, a good read!
Thank you.