In reading about baking one comes across many different type of icing; royal, buttercream, fondant etc. What is the difference between these? What determines the choice of icing used on a cake?
Fondant is nearly solid -- it's rolled out, and placed onto the cake (with a buttercream underneath as an adhesive). The advantage is that it goes on really quickly and smoothly over large items. It can also be cut into shapes with rather clean edges (modeling chocolate gives sharper edges, but it's not flexible enough to cover a round cake). You often see it on professional non-traditional cakes (more novelties, when they need a solid color or something that's strangely shaped.
Fondant can also be used to give a solid background can then be piped into (with buttercream icing, generally) or painted. As it's nearly solid, it can also be worked like you would clay to make decorations.
Royal icing dries hard as it has no fat in it. It's generally only used on cakes as a drizzle where you're not attempting to cover the entire cake. You'll often see it used on bundt cakes, but you more frequently see it used for cookies when you're doing a flood-fill.
Buttercream icings (commonly called 'frosting' in the US) is likely the most standard for non-professional stacked cakes. It's spread on, so it takes a little more work to get a clean smooth surface. (the trick is to wait 'til the surface has hardened, put down some waxed paper, then smooth out all of the spatula marks ... you need to wait 'til the waxed paper doesn't stick, but not so long that it hasn't set up completely). You can also use buttercream in pastry bags to create flowers, ropes, basketweave and other decorations.
And then there's other frostings/icings, too, but they're not as general purpose. They generally go with specific types of cakes -- caramel and other cooked frostings (eg, used in 'German Chocolate Cake'), cream cheese frosting (for carrot and other spice cakes), whipped cream (used in black forest cake & strawberry shortcake)
There are three considerations when it comes to icing: look, texture and taste.
Royal icing is stiff and mostly used for decorations.
Fondant looks smooth - think of how a wedding cake looks. It's also slightly stiff and chewy in comparison to buttercream or ganache icing. You would roll this out with a rolling pin and place it on the cake instead of applying it with a knife.
Buttercream is less structured but you can pipe it into swirls or roses. It's basically creaming butter with icing sugar.
Ganache is made with cream and it's really rich and can be rather runny.