The downside, and the reason I decided not to use this method on my robot, is that you can only use this method on a perfectly even surface. And preferably no tiles ( the grooves between tiles make the mouse ball float, giving error. Also using an optical mouse can cause problems on shiny floors...
The best way imho to eliminate slipping errors when stopping and accelerating is to make your robot do these actions smoothly.
Use PWM to let your motors accelerate smoothly.