It depends entirely on the type of game you want to make, and how accurate you want the movements to line up with the ground, or be in sync with other actions. But for the most part, root motion only makes life eaiser for almost all attacks and movement code, and for the small percent where you want full control.. just code as you would as if it weren't root motion. At any time you can forcfully move your character somewhere anytime you want. if you choose to include the root motion information, then you just fetch it from the animation tree, but if you don't want it, then just don't do that, and code it as if it weren't root motion.
For a soulslike, you 100% want to have root motion, it'll look a hell of a lot better and make adding most actions a lot easier, and for the actions where you don't want root motion, you just code it like a regular dev. Imagine a big ax swing where the player takes 2 steps forward to swing the big thing. It'll look MUCH better to animate that with a root bone, controlling how far the player moves with each swing during the animation. Blender is easier to animate that with, no doubt. But imagine trying to do that in code. Telling him to wait a half second, then move forward .25 a meter, then wait, for the next step, and another .36 of a meter, and then another .15m to straight out his feet again... That is hell (and what the non-root version uses... and it's like honestly double the code)!
So for souls-likes, yes, root motion is better. Period. I'm making a Metal Gear style game now, and using root motion is a million times easiser there as well. But if I were to do a RTS, starcraft, age of empires, etc etc style point and click. It'd be easier and preferable to ignore root motion since i'll be moving enemies around on a grid... but if i didn't have a grid system... i may even still there use root motion so their feet match perfectly their speed as they walk.
For me, swapping to root motion solved most of my movement code woes. Game dev got a lot easier after that point. I don't use root motion for rotation, i prefer to control that myself based off camera, and for vertical motion like jumping etc, i also leave it out. Easier to do that in pure code or based off math rather than an animation. But for regularly directional movement, root motion is a massive massive time saver, and headache reliever.
Do you have specific questions?