Superman is the boyscout. Superman is the embodiment of human idealism. But why is it that most stories that involved them fighting, Supes is the bad guy?
We have DKR where he was a government puppet. If it wasn't for TDK2, he wouldn't have "seen" the light. Justice Gods have him as the leader of the elitist tyrannical regime and although Bats was also a part of that team, he was the one who eventually became the hero as well. One can argue Kingdom Come had Supes on the "better" side but it was still him who almost snapped towards the end. And Bats wasn't even a villain at that story. Another thing is Hush. Supes was mindcontrolled and Bats is again the protagonist (granted it was a Batman arc, we still don't see it from the other side with Superman arcs). And we also have Injustice. Superman (at least a version) was the big bad, parallel universe aside, with Bats being the hero.
I know it would be quite "cheap" to have Superman beat lowly ol' Batman (cause that's going to happen if he was the hero and Bats was the villain). But why do we always have to see Superman compromising his principles and going evil? That, for me, is the biggest reason Batman "always win" against him. It's because Bats is the hero and Superman is the villain.
Is it just because Bats is more incorruptible?