I'm having trouble understanding why RB tree insertion is called more effective in all sources.
It's said that AVL trees require "more rotations" than RB trees, but from what I've learned I can't see it. AVL trees always require one or two rotations, after which the affected subtree gets rebalanced and therefore the whole tree. We could say that rebalancing then takes O(1) but you might traverse the tree up to the root to find the point of rebalancing, so it's O(log n). Anyway, the number of rotations is constant.
In RB tree, if there is red-red conflict you might have to recolor, then recheck and then again recolor and so on, up to the root, and also after rechecking you might rotate (which also takes 1-2 rotations). So basically the same as in AVL: you might recolor up to the root, but rotation number, if it happens, is constant (right?). But in RB all this path might be longer than in AVL, since the tree isn't strictly balanced.
Where is it more effective? Simply because rotations happen statistically more rarely? Then what about having to recolor up to the root?