I think there is four different types of racism. There is racism that is caused by ignorance, people are taught that an ethnic group are bad. There is racism that is caused by fear, people are afraid that an ethnic group are harmful to them and hate them. There is racism caused by racism, like a retaliation, someone experiences racism and wants to be racist back. Then there is racism caused by arrogance, one ethnic group thinks they are better then another ethnic group. I think there is a spectrum involved. Perhaps there is more than one type of racism inside a person, perhaps fear and ignorance together for example.
It's not fair though, whatever reason a person has for being racist. A person is being judged by their body and not by their mind. No one wants to be judged by other people that don't know them in a negative way and no one wants to be discriminated against by other people.