It’s been discussed extensively. It’s not an error that the printer is making.
As you print, each printed layer starts to cool off. As it cools, it shrinks a little. If you’re printing at the same “rate” each layer, the amount of offset between one layer and the next caused by this shrinkage is uniform and you can’t see it. But if you go from printing layers fairly quickly to printing layers much more slowly, like for instance when you go from printing a layer that’s mostly infill to one that’s a top surface, the amount of shrinkage that occurs while the longer-printing-time layer is being printed is going to be quite a bit more than it was on any previous layer. So the layers that get printed next, after the slow layers, will have a visible discontinuity.
Layer time, extruder temp, chamber temp, build plate temp, fans, infill type and percent, wall count, wall printing order, and the shape of the object itself all have an effect. You can minimize but probably not eliminate the issue completely by experimenting with printing parameters and the model’s orientation. No one set of rules to follow, solution has to be arrived at empirically…