There’s also the fact that appealing a judgement goes to more judges, always different than ones who have seen the case. Basically:
1st judgement -> 1 judge
1st appeal -> 2 different judges (must be unanimous)
2nd appeal -> 3 different judges (must be unanimous)
This makes corruption less common, as getting 6 different judges to all risk their career for a bribe is unlikely.
I’m not going to claim this system is perfect. There are issues with the fact that there is no mechanism for preventing enforcement of an unjust law. If it’s on the books and it’s an open-shut case, the law will be applied no matter how unjust it is. The inverse is also true though: you can’t have unjust rulings that ignore laws the other direction, for example jury nullification of the murder of a black person (used to happen all the time in the US).
Like most things, it’s a tradeoff. Some things are better, some are worse.