Basically the nice cities with nice weather attract a lot of candidates meaning employers don't need to pay so much, while employers in cloudy, windy, rainy and depressing cities need to pay good because otherwise there's no reason to move there. It's just supply and demand.
I could get a nice pay bump by moving to Netherlands or the UK, but I really can't stomach the weather in that part of Europe, as someone who like going outside for walks in the sun. Sometimes there's more to life than counting more money, and life is too short to spend it living somewhere where you don't like just to accumulate money.