People who aren't into the nitty gritty of CSS generally stay away from sizing fonts using "em's". They don't know what it stands for, they don't know how the sizes relate to things like pixels or points, and they have no idea of the benefits that it can provide.
Those that are in the know are often confused by usage, and it doesn't help that they still don't know what it stands for. Em doesn't actually stand for anything, it's a word in and of itself. (There, now you have another word to use at the end of a scrabble game). An Em is a typographical unit of measurement, equivalent to the width of one full size character - such as an "M". The variable definition of size is the largest cause of confusion among would be CSS developers. Funny enough, searching for a definition of the word results in plenty of arguments among various people involved heavily in typography.
As a general rule for webmaster purposes, (one with many caveats), 1em is equal to 12pts is equal to 16px. Did I get that right? Leave a comment.
The reason that you really should use em's to reference your font sizes in stylesheets is because em's are scaleable - meaning that if the user resizes the fonts within a browser, the website will still appear aesthetically correct.
If you declare a font to be 12px or 12pt in size, when a user resizes text within the browser - by default the declared rules will override the resize request and stick with what is in the stylesheet. That's no good because most often a resize request is made by somebody with bad eyesight that really does need to see things a little bit larger than the rest of us.
Alternatively, if the stylesheet is declared with em's, the text will resize properly while the site still retains the defined layout.
There are many caveats to em usage - but once you understand the problems, they are easy to work around.
One such caveat is inheritance. Em sizing values in CSS are relative to any sizing in parent elements. This can be a good or a bad thing, depending on the situation you are in.
A common trick that is used is to declare a body font size of 62.5% - which pushes default em sizing to 10px. From there, font sizing becomes easy - 1.2em = 12px, 1.6em = 16px, etc. In nested elements, however, things get a little bit tricky - if a div has a size value of 1.4 ems or 14px, but you want a small font to be used within that div, declaring a style of 1em for a 10 pixel typeface within a nested element will not work - the em picks up it's size from the parent element, therefore making 1em = 14px. In order to get back to a 10 pixel font, you need to declare a size of 10/14em or .714em. This can make things a bit tricky, but I am finding that I rarely declare too many additional font sizes within my layout elements.
Did this make any sense? The point is that you should use ems in order to provide the capability to your end users to resize their text.
For further reading, here are a couple of links to more extensive articles at A List Apart, and Typophile
What visitors have to say about Resizable Fonts using EMs
