I'd say in almost all companies, no other approach works except this. Every other approach is basically wasting each other's time and energy.

In fact for most people, don't even bother, just find a new job.

If you super like the work at your current company, the way I'd roll is:

- work hard in a way that also builds new skills, and get recognized for your performance, widely (and add everyone to LinkedIn, you never know who might be moving on next to somewhere that needs more hires)

- At 2 years absolute limit: "I think I'm senior now" or whatever is next level, or "my salary isn't aligned with market" - at least give them opportunity

- They blah blah. Don't protest, politely nod and let the meeting end.

- You then, depending on your bank balance and risk appetite, either say the next day "ok I need to move on to pursue other opportunities" and resign, or start reaching out to your network for a new job the very same day they do their blah blah

(Goes without saying that saving up a big bank balance is the most important negotiating tool, but catch-22 and all that)

NB: I might add one other technique that can get overlooked: timing. The best time to ultimatum is when the counterparty is least capable of dealing with it. So if you wait until the person who has to decide if you'll get what you want is having an absolutely shit month, e.g. several other people have left recently, or they are bogged down in some other pain, they're far more likely to give in. And due to the ebbs and flows of business, those ebbs will always show up from time to time.