The most important part of career development is making sure that you're being challenged and learning new things wherever you are. Sometimes that means taking a bottom-rung software engineering position at Google, and sometimes it might mean being CTO of a startup. The answer depends a lot on what you've already done before, what you want to do in the future, and what specific skillsets you've identified as needing practice.
I've found that in general, it's harder to blaze a trail than it is to follow in other really smart people's footsteps. OTOH, there's something intrinsically educational about that difficulty itself. A lot, too, depends on whether you find yourself stagnating because you can't identify areas where you could do better (a big problem for big-fish-in-a-small-pond) or whether you find yourself stagnating because you're too overcome with inertia to change your behavior (a big problem for small-fish-in-a-big-pond).
BTW, I've also noticed that many people who think they're overqualified for great companies when they get their offer find that they're not overqualified at all once they get in. The public face of any great company is a tiny fraction of everything that goes on inside of them...that's how they got to be great, after all.