The browser has a default font size already, and users can change this (up or down). For instance, Firefox has a zoom feature which will resize everything, but can also be used to just alter the text size alone. This is handy for those with high dpi notebook screens, stupid Apple "retina" displays or those with normal screens who have trouble seeing small writing.
If you use a relative font size for an element, then it is relative to the parent elements font size. If you don't set a font-size on an element, then it is inherited from the parent element.
If you set a relative font-size on the <body> element (of you don't, but then set a relative font size on some child element of the body), then it will be relative to the browsers default font size.
The W3C recommend using the unit "em" for the font-size, though % would work in much the same way. Setting a font size of 1em or 100% would mean that an element would have the same font size as its parent element.
You can also use the unit em for things such as padding and margins if you wish. This means that as the text size is increased or decreased, proportionally the amount of whitespace around the text stays constant.
Here is a short page on font sizes at the W3C: