> First off, almost nobody is missing steps in their cheap 3D printers. They simply do not move fast enough for that to happen.
> And if they are missing steps you have a bigger issue, usually lots of friction somewhere.
Well, keep in mind that not moving fast enough is a bit circular: One reason they don't move fast enough is to prevent them from skipping steps. Of course, on hobby machines rigidity is probably a bigger issue so it's not terribly helpful in that regard.
(I will say, though, that steps can be missed outside normal operation if the machine crashes. Feedback is nice for identifying that quickly!)
> Secondly, 200 steps per rotation is normal for motors. However, the drivers everyone is using do 16x microstepping,
> good for 3200 steps per revolution. Accurate steps per revolution. That's better then 4096 +- 2 steps.
No. Microstepping (and indeed stepping at all!) is a zero torque accuracy. In a motor, torque is only generated when the magnetic fields are unaligned, a situation known as "slip". If the fields are aligned (zero slip), there is no force and so no torque, but the rotor is exactly where you expect it. Maximum torque occurs at 90 degrees from the poles, and if that is exceeded you lose a step. The idea of the stepper is that the poles are so close that the maximal 90deg slip (+/- 1/4 step) is insignificant (usually only a degree or less) and therefore you can infer an amount of positioning based on that. All microstepping does is rotate the poles; you will still have the same uncertainty because the width of the poles is unaffected.
Granted, if the stepper in providing much more torque than is needed the slip will be pretty small. However, unless you have very low friction and zero other torque you can usually expect to always be a least a (16x) microstep or two off your expected rotation. Haven't you ever wondered why the advent of cheap microstepping drives hasn't killed small step steppers and encoders? You're still only as accurate as your physical step size.
In addition, steppers are generally used with minimal gearing. Other motors will usually have to be geared down pretty significantly which means that a motor mounted encoder will provide a "geared up" precision. Yes, backlash can be a problem but it's actually not a much as people like to think (for reasons beyond the scope of this discussion).
So to compare:
A) 200 step stepper, 16x microstepping, direct-drive : ~1000 counts per rev
B) Brushless DC motor with 4096 encoder and 10:1 gear box: ~20000 counts per rev.
> I'm also willing to argue that it's more expensive.
You better believe it! Brushless DC motors are less expensive than steppers, usually, but steppers are a one piece solution. All you need is a single chip driver and a shaft coupling are you're done. If you want to use a DC motor, you need all that and a gearbox (which could maybe be a low pitch ball screw in this application), an encoder, an encoder reader (a microcontroller is fine, but one per axis!). You also need better control software too.
In the end, though, you get what you pay for and that setup will beat the tar out of a stepper directly driving a timing belt. However, it's also far better than your average reprap mechanics, which will lack to rigidity to actually use it to its fullest. So now you have to build a better frame, etc, etc. And all of a sudden you've got a $20k industrial machine and not a $1k hobby one.
So, I agree that for the application there is nothing at all to see here. Cheap servos for a cheap machine are pointless and steppers are the right solution. After all, the difference between 1k and 100k counts per rev doesn't really matter if your extruded plastic is +/-0.1mm. However, for a better machine a closed loop servo is really the only way to go.