There actually are a few tricks that haven't been mentioned, other than years of practice:
First, you need to start off with a crumb-free cake. That is, you don't want any loose crumbs from poking through the icing, ruining the coat. After stacking, I first brush it off with a pastry brush, then I apply a 'crumb coat', a thin layer of icing that's let to set up, locking in any remaining loose crumbs.
If you're not going to do a crumb coat, you want to put all of the icing on top of the cake that you're going to use, and slowly work it down. You tend to use more icing in this procedure, so that you're not scraping too close to the cake, and use a looser icing on the final coat.
For the final coat, you really need to use a turntable -- when doing the sides, you hold the spatula still, while turning the cake. It's also useful for the top, so that the height's the same on all sides.
Now, for the trick -- there's a time when some icings will develop just a bit of a crust on top. (I don't know if this happens for ones made with butter; I use shortening to get stark white) It won't be sticky, but the icing below's not fully firm. When you're in this limited window, you can place a sheet of waxed paper on the cake, and rub lightly to smooth out spatula marks or any other imperfections.
Your typical problem spots are right at the bottom edge where it meets the platter, and the top corner ... so you cover those up with a rope or other border. (another place where the turntable helps)