If you keep hopping, you will be the new guy always - often jack of all trades, master of none. On the other hand, internal promotions rarely come with overnight +50% salary raise.
As usual, the answer it 'it depends'. More specifically, it depends on your situation.
I would suggest creating a 3 year vision, then a 3 year plan. Set targets for yourself regarding work life balance, salary, benefits, industry recognition, company recognition. Make the first cut your first thoughts, not wildly out of the park, but probably overly ambitious. Keep that draft, but then revise it to be more conservative. Aim for what would make you happy, not what would make you ecstatic. Now you have two sets of goals: objectives and thresholds. Taken together, this is a vision of where you want to be in 3 years.
Now create a plan by charting where along the road to that plan you want to be at the end of the first year. Which milestones do you expect you can hit? Which are stretch goals? Always have stretch goals, a lack of the possibility of failure means you are not trying hard enough, in many cases. Now prioritize the goals in your three year vision, and the milestones at the 1 and 2 years marks. For each milestone at the 1 year mark, write down habits you can start that will get you there. For example, I have a goal of wanting to be be good at React by the end of next year (this is a weasel-goal though, too ambiguous, but what I came up with spur of the moment). I can start a practice of studying React APIs three hours every week for a year, and putting in 5 hours every week working on an Open Source React library of components, to be released at the end of the year. These then are tangible goals. The library also helps with goals of recognition for my React skills.
At the end of each year, evaluate where you are in your plan. If you've stalled, work with your manager. If the plan doesn't seem achievable in your company after talking with your manager, then that's the time to seek another position. If there's none in the company that progresses your plan enough, then that's the time to look for a job elsewhere.
That said, always be networking. Respond personally to every recruiter, expand your linked in network as much as you can (but only with people you establish a real connection with), stay in touch with people from past projects. That way, you are always hearing of new openings. When the time is right to move it won't be a matter of finding a spot, but letting people know you're actively looking now, then choosing from a number of different positions.
I’m still in my early career actually - just passed 2 years now at my current company. I think it takes some time, especially as a newbie, to actually wrap your head around a company culture, deliver real value, and learn a ton. And I’ve found that that’s the 2 year mark here.
In my experience and those in my network, job-hopping has proven more likely to land you a higher position and higher pay quicker and with less effort than staying at the same job and seeking promotions.
Staying at the same place, people tend to take you for granted or at times totally overlook your contributions (while still demanding more). They also are more aware of your involvement (or lack thereof) in company politics, the minor or major screw-ups you've made, etc. which play a part in delaying the promotion process. In most cases, people wait for that promotion without actively seeking or asking for it. Since "you encourage what you tolerate", that promotion never really comes.
So job hop.
I feel like people tend to be paid pretty damn close to their market value, and inversely, buying the most expensive engineer in the market is usually worth it, with some exceptions, like the people who skill up in salary research and such.
Job hopping works if you're paid below market value.
In my experience, the perfect balance is that you spend at least 3yrs before moving to a new company. The sweet spot is around the 5yr mark in terms of maximising your appeal to future employers. If you're moving jobs every year or two, you'll start to limit the number of possible employers who will consider you. If you have 15yrs experience and have only worked for 2-3 companies, that's highly valuable. Interestingly, I'm seeing more and more evidence of employers hesitating to consider people who have been at their current company for too long. If you work for a company for 10yrs and you aren't consistently being promoted every few years, then expect employers to assume you've peaked.