Superman is vulnerable to magic and gods often fall under that domain. Gods rarely fight. They know they're powerful and will destroy whatever powers them.
To add to what Vladimir said, Superman loses a lot because that's how stories work. He faces a challenge, gets beaten or outplayed, and then has to overcome whatever held him back. That's the dumb thing about versus battles, people treat things like Kryptonite as an end-all argument but he's had to overcome Metallo countless times. He's a hero, it's what heroes do.
The case of Doomsday is different. The challenge Superman had to overcome was accepting that he couldn't win. But he needed to. He knew as the fight lasted longer and longer that it would at most end in mutual destruction and he had to do that, or Doomsday would destroy everything else.
A fight is never just a fight.