6DOF Robotic Arm using Arduino Uno and 6 Tower pro Servos (MG996R )

Power is often a problem with servos, but I do not think that explains the OP is describing.
Those servos are at the low end of the quality/price spectrum. There are going to be some examples that fail.

One common mode of failure is that if a servo command is given at one end of the range, it makes the servo rotate continuously. Some people have been able to still use these are typical servos by avoiding commands at that end. For example, limit the servo commands to between 1000us and 2000us. I think by default, the servo.Attach uses a default of something like 544 and 2400.

If they still do not behave, then you may consider purchasing some additional servos. I recommend getting more than you need, as some of them may be bad out of the box, or you might strip gears in your assembly or testing.