So this is more like a best practice question. I tried doing a walk cycle by creating a walk action and then repeating it in NLA editor over a root bone position change. But this looks very mechanical, and every now and then I'll see sliding back and forth. So now i usually do pose by pose . But in this scenario, my root stays at the initial spot in the scene, while the rest of the body/bones is all over the place. Is this the right way to do or should I always make sure that the root bone is always with the rest of the bones?
When you create a walk cycle in Pose mode, don't move the root, keep it still, this way, when you'll be back in Object mode, you'll be able to move the whole armature and the root won't go back and forth, it will comply to the animation you will give it in Object mode (like typically follow a curve).
You can move the root bone if you don't plan to move your object in Object mode, but in this case it generally won't be a cycle.
When it comes to a walk cycle, you first set up the motions of the armature. The root bone moves the entire armature and unless you are moving the mesh connected to the armature in your scene, you don't have to move it at all. For the root bone to move along the character ,as it walks, is to be in pose mode. So to review finalize the walk cycle first, then move the root bone all together. Be sure that the bones are offset from the root bone or else you will have some issues with the armature.