I change jobs every 2-3 years. Mostly because asking for a raise or a promotion is usually met with an eyeroll. Or a laugh. Or some lame attempt at blame-shifting to "corporate."
In my experience it's either one of the following:
a) spend (at least) 15-20 years at X company and hope to ride some waves, get lucky, to rise to the top/executive level but most likely get stuck in middle management with crappy comp
b) switch every 2/3 years, probably not rise as high, but keep up with market wages and have a more diverse experience