Again, I'm old school I guess but if Melinda was abusive or was unfaithful or whatever, that still doesn't give him a good reason to cheat on her. He should end the marriage if he wanted out - that is the more honorable thing to do.
But given Gates history with other women, I highly doubt Melinda is the one at fault here.
Let's take a step back here. I'm making, what I feel is almost an universal opinion, is that cheating on your spouse is wrong. I'm also making the assumption is that if one is morally loose with their spouse (literally, the person they loved most in the world at one time or at least kind of liked) they have a higher social obligation to that person than they do with someone on a lower level.
If Gates can easily (and on multiple occasions no less) violate the trust with his wife, why make the (large) assumption that he would have a high level of character with someone who he is less close to or that he has a lower obligation to?
Besides, wasn't Gates unethical while running MSFT?
I've done plenty of things in life that I'm not proud but cheating on one's wife is pretty high up there (to me at least) on the character staining side. I would also argue "being tight with a known child abuser" pretty high up there, too.