Servos do have several advantages; but, they are more expensive and more difficult to control.
Generally, a servo motor is a DC motor but with an encoder to provide position feedback. A circuit (can be a computer) then compares the actual position (from the encoder) against the commanded position and uses the error to determine how much power to put to the motor (usually by PWM).
Some of the advantages of servos:
- The encoders on the motor often have thousands of counts per revolution so they are accurate.
- They are a great choice for controlling a large mass. When beginning a motion, the control loop can detect that more power is required when the encoder does not respond as fast as expected thus putting more power to the motor. This will them automatically reduce as the motor reaches speed and no longer needs the acceleration torque. Also, the servo loop can also apply reverse torque when trying to slow down the large mass to limit overshot.
Some of the disadvantages of servos:
- The DC Motors used for servos reach peak power at thousands of RPM. That means to use them on a printer you will need to gear them down. This adds to the expense.
- You need electronics to PWM the power to the DC Motor and to close the servo loop (usually at least 1 KHz). This can require a lot of the CPU. Probably would be more than a Melzi could do since it is already maxed out.
- The servo loop tuning can cause the motor to buzz when it is holding position on an unloaded axis. This could cause print issues.
I know you have likely seen cheap servos out there often called "hobby servos". These are often used in RC. These use a creative trick that allows them to use a cheap potentiometer to create an inexpensive control loop. The limit to this "trick" is that it CAN NOT rotate a full 360°; thus, it CAN NOT run a continuous axis. Yes, I know there are hobby servos out there that are called continuous rotation servos; but, they do that by disconnecting the potentiometer. In that case they are no longer servos. This is just a way to use the same control interface to control a standard DC motor and the motors are not accurate.
Stepper motors on the other hand:
- Are really cheap;
- Don't require complicated drive circuits or control loops;
- Love to hold position without a load.
Their downside is that their rotational accuracy is limited by the physical poles of the motor. This can be improved using micro-stepping; but, there are limits. Also, it is difficult (often impractical) to determine if the motor missed a step. That can usually be handled by just making sure that the load on the motor is always well below the step torque. This often involves managing the motor acceleration.
In summary, servos are great for some applications; but, for low cost situations like 3D printing, steppers are hard to beat. It is likely servos needed for milling CNCs because the cutting head is much more massive than an extruder or laser and the servo control loop is needed to provide accurate motion for the higher mass.