Is it advisable to use a separate micro-controller for servo motor controller of a robot rather than using only one micro-controller for the whole system and why?

Yes, most MCU's can not multi task it can run only one program at a time, so if you run a stepperor servo motor from one MCU it will slow down the whole program so, if you have send the command from the main MCU to the other one that is controlling the stepper or servo the main MCU can go on doing other things while the stepper MCU can take its time taking the stepper motor thru its paces If you have to run more than one stepper and using only one MCU, the MCU will have to drive the one stepper with one pulse and then the next stepper, you don't need a large MCU to drive a stepper only 4 bits is needed a 8 pin PIC like the PIC12F675 is all you need, GP0 to GP3 can drive the stepper while the chip can receive commands on GP5 that is a input pin only ,then you still have GP4 spare to drive a LED or a relay or you can use it as a DTR to send an interrupt to the main MCU and tell it that its done with the last command and ready for the next.

A string of commands can be received by the 12F675 in serie on one pin and be stored in onboard EEPROM for use as needed