"All heroes are champions, but not all champions are heroes.
A champion is a warrior who fights for the cause of others, be the cause good or ill. A hero is a warrior for good.
The terminology is a deliberate choice. As Giles puts it "Buffy is a hero, you see?" while Angel is a champion. Angel is the vampire with a soul who could go either way in the apocalypse. No one knows what side he'll land on, they only know he's pivotal. That's why he's not labeled simply a hero."
It's still up for debate what is a good cause and what is not. I bet Angel would generally define himself a hero as well as a champion, and as much as I loathe some of his less un-heroic choices he didn't seem to feel bad enough about (I mainly thinking of him killing the demon slave in Not Fade Away), I would have to agree with him. Just as I would agree that any demon was a champion if he was working for someone else as a warrior.