Working as designed.
Simplistically speaking, the more of a stat you get, the less valuable that stat becomes and the more valuable other stats become, in comparison with each other. Every time your gear stats change, even by a single point, your weights change too. You can't just change all your gear in accordance with one set of weights and expect that to be your best gearset.
Imagine all your gear had only haste, and the sim tells you crit is better. You replace the helm with a crit helm - crit just got a bit worse and haste just got a bit better. You replace the shoulders with crit shoulders - crit just got a bit worse and haste just got a bit better. You replace the cloak with a crit cloak - crit just got a bit worse and haste just got a bit better. At some point in this process, crit and haste will even out, and that's where you're supposed to stop. If you just replace all your haste gear with crit gear and sim again, you're not seeing that - you're just going to get told "you're doing the same DPS as before, and haste > crit" and you'll go "amagad this is broken"