Oh, I said "because she's Cordy" lightheartedly. I'm a huge Cordy fan. 😛
Angel left Buffy because he did not fit into her life at that point. Simple as that. Angel and Buffy's relationship was ALWAYS rocky because of who she was. Angel leaving Buffy never came out of the blue. She was the Slayer, but she was also a teenager who was about to go to college. Buffy and Angel always tried to make their relationship fit around the current crisis/apocalypse. I don't see how keeping that up could've ended well for anybody, and ultimately, it didn't. As for why Angel leaves Buffy, he does it multiple times for different reasons- at the end of Season 3, yes, but also in IWRY. Her safety is obviously always in his mind, but a huge part of why he leaves (at the end of Season 3) is so she can get that tiny chance at normalcy. We all know that eventually will never happen for Buffy (see: BtVS seasons 4-7 😛), but the point is that he wanted to give her that opportunity.
And as for IWRY, even though they've got everything they've ever wanted (human Angel, the curse not being a problem anymore, etc.), it still wouldn't work out. Not just because he can't provide her with a future this time, but because the world needs a champion. Buffy can't protect him all the time; she needs him to fight his own mission just as much as the world does. Angel's feelings for Cordelia don't negate any of this. We're talking two different women, two completely different situations. Cordy was tied to the mission and to Angel for the rest of her life. (Literally, it turned out.) Cordelia's future and Angel's future were one and the same as long as they were fighting together, and they [Cordelia, Connor, Angel] were a family in a way that he and Buffy never were. Bangel and Cangel are not comparable, not to me anyway. I don't see how one contradicts the other.