Beyond the Pale There are different legitimate (in my opinion) reasons for not entering into discussion with an individual. The first would be what you have described as "moral" disagreement (the Nazi example). However, to my mind the reason to not engage is solely to not give the individual a platform to broadcast to other third persons, I don't actually mind discussion with those with whom I disagree, even greatly disagree with. Thus it is to deprive the reprehensible ideas of "oxygen" by not engaging. However, if the discussion was not viewed by third parties, then as I mentioned, I don't mind conversing.
The second reason not to engage, is when the other party doesn't abide by logic and/or truthfulness. Since productive discussion is futile and since your opposition isn't confined to the truth, your ideas will be viewed by third parties as erroneous or incorrect inappropriately.