Because it is "unfair"
Just an excuse,names are different but the essence is all the same.To not to feel guilty.
or to blame others
It's a French word, which is properly spelled *affaire* which in English means, literally *thing* So they're having a thing.
Cos a shag is supposed to be a short term thing, rather than marriage or commitment.
An affair implies more of an ongoing relationship rather than a a single incident of cheating, like would happen with a prostitute. But, either way -- it's cheating. People call it an affair to make it sound more sophisticated and fancy, even though it's not.