This issue was skirted many times in Buffy but not directly addressed, where her righteousness in her calling as the Slayer eclipsed the moral implications of her slaying, at least in the telling of the story. She mercilessly killed almost anything (unfortunately/confusingly not Spike) that was an 'evil' demon or vampire, and conveniently she was never wrong.
In Angel, the shades of gray of demon behavior are more apparent, with a larger proportion of the demons shown being something less than pure evil, or not at all. In fact, the revelation of other dimensions where demons come from, not quite 'hell' or 'heaven' dimensions, shows that the demons are just people too, even though not human. Frankly in the context of this show I believe the word 'demon' is misleading and derogative--a racial slur.
Here Gunn is confronted with this issue. When first meeting Angel earlier in the series, Gunn behaved in a very similar fashion to Gio (but significantly less annoying) in that he saw the issue as black/white. We have seen his racism towards demons fade as he joined the gang, but by the end we can see that he is still struggling with himself to fight it, as he tells Angel that he could never be his friend. This episode shows that it can take time to abandon our preconceptions of others based on fear and ignorance, but that we should grow more accepting to those that are different from ourselves.