The initial reason behind having separate IDEs for every language, or so I was told, was using different keybindings. This way, XCode users could easily switch to AppCode, Visual Studio users – to Rider etc. – without the need to re-learn anything. (This is the reason I still have Atom keybindings in my Codium setup.)
But why would anyone want to use different IDEs with different keybindings is a complete mystery to me.