Building a good tool is the problem. For instance Git was born in a very niche community (kernel programming), yet it spread like wildfire. Despite the shortcomings of its CLI (according to some), and despite the fact there was other well'established tools.
As someone that would rather use Mercurial and was perfectly fine with Subversion, that wild fire was "Linux kernel uses it, was made by Linus, and I want to be cool like Linus".
Rather than a weird "cult of personality", the fact that Git demonstrated with Linux that it could handle a relatively large amount of source code and allow dozens (hundred?) of programmer to work on it "asynchronously" were key factors for adoption, I believe. If SVN was that good, as it was already well-established online (Github was not the first online VCS frontend, far from it), it should have remained the king of the hill. But it was decapitated instead.
I am been using FOSS and commercial source management tooling since 1998, and the very fact that Linus only bothered with git due to BitKeeper changing their licence, proves that there was nothing special about it, other than personality and adoption wave.
Game development often uses commercial solutions like perforce that have central servers so you can lock out your binary files and everyone will know not to touch them at the same time as you.
I think I’ve seen SVN in a single studio in the past decade. It’s almost all Perforce, because of better performance and tooling and the Unreal integration.
And yes, locking unmergeable files is essential either way.
A side effect of the great idea to write application software in Python that perdures to this day, still it was fast enough for purpose, it isn't like doing SCM operations is akin to 120 FPS for a game engine.
It isn't great that are now so many Git GUI clients written in Electron?
The problem with Python CLI tools is startup time. Just firing up the interpreter and importing modules can take a frustratingly long time if you're a twitchy CLI user. That's much less of a problem for a GUI tool that tends to sit open for a while.