It's too easy to just call someone a racist. It's a lot harder to actually have an honest, thought provoking discussion. The first reaction just puts real racism underground and makes non-racists more likely to become racist because they feel embarrassed, hurt or angry. The second has a chance, however, small, of perhaps changing the heart of a racist and increasing understanding between non-racists.
Just as an example from my own life - I said a word that I did not realize could be offensive. Turns out that it is used by one group to marginalize another. I didn't realize this. I was ignorant, not racist.
My friend who belongs to this group explained why this word hurt her. Since I have no desire to cause hurt, I apologized for doing so and have now expunged the word from my vocabulary.
However, what would my reaction have been if, instead of having a dialog, my friend had just started yelling names at me? I would like to think I would still have changed my behavior but who knows? It's much harder to react with compassion and love when you are being called names.