OK, so what's happened here? The bits of text on the right-hand side are set using <font size="n">. As you can see, the sizes are rendered identically in IE, Opera and FireFox.
On the left, the text has been sized using the style attribute "font-size" set to the appropriate value. In IE and Opera, these match up with the numeric values, so xx-small is the same as font size 1, x-small is the same as font size 2, etc.
However in Firefox, x-small is the same as font size 1, small is the same as font size 2... all the fonts render one size smaller in Firefox compared to the other two browsers I tried.