Anecdotally, I've seen a lot of developers that I worked with who weren't particularly great (or even good), job hop quite successfully. I think it depends on the local marketplace more than individual skills. (And the ability to interview well).
Absolutely- and one of the reasons they job-hop is because they can obfuscate their lack of competence for six months or so and then either leave or are reassigned/fired.