All chess games have mistakes. It is an error to think that because you didn't blunder a piece the game was without error. With that said:
Move 4 and 5 are mistakes by both parties. Breaks a opening law "do not move the same piece twice in the opening. Obviously this law can be bent if the overall goal improves position and development.
I looked over the entire game and it looks like white just had a better position the entire game and black was happy to continue trading down with no thought.
Notice the the 3 pawn chains of Black to the 2 pawn chains of white. It is clear that white will be better if black pushes for trade of rooks from move 20. Black should be playing for pawn play on the kingside in this position.
Position Board on move 20 seems to be the key position in the game. I see the game a materially even and the position drawn (through human eyes, computer might give slight advantages to one side or the other, but I would doubt any major advantage.)
The looks like a draw to me from this position and I would have offered it after the rook trades.
Move 22 you could have won a pawn by taking (Rxb2)... and the game would be completly even draw.
Hope this helps...didn't really take much time to analyse.
Well. Its the problem of games without mistakes.
The strategie is more complex.