In 2012 I wrote about the economic advantages I had experienced by moving companies. Although it is of course an extremely limited dataset, I had witnessed a consistent and pronounced difference between increases in my income when I stayed with the same company, and moved to a different one.
Some of this could perhaps be explained by the concept of reference points, as discussed by Daniel Kahneman in his book Thinking, Fast and Slow.
One of the issues with gaining a large salary increase with your current employer, is that your current salary forms a reference point. Say you are a graduate and took a £18,000 a year job. It is now a year or two after and your skills are now worth £28,000. All of that seems reasonable in the software industry.
The problem is that to your current employer, they would have to accept a £10,000 increase in costs – a 56% increase! So they probably make you a far more modest offer of £23,000. This then also becomes a reference point. When you ask for £28,000 that is not only £10,000 more than they pay you now, but £5,000 more than they had mentally prepared themselves for. They are left feeling like they are losing £5-10,000 a year.
In comparison, a different company can come at this from a neutral perspective. They look at what someone with your experience is worth and price you accordingly. This could result in a wider range of offers. Some high, but some even lower. However, this is of no consequence as obviously you will cherry-pick the high offers and pursue those.