Frames can be used well, or badly - the worst feature of frames is that the do not bookmark well, and are awkward for search engines.
A workaround is to ensure that there is a usable "Noframes" navigation path...
Get
http://www.offbyone.com theOffbyone browser, set it to show noframes (options), and you will be getting a search engine's eye view ... "This uses frames, and your browser doesn't support them" is just not good enough - where a site normally works with an index frame and content pages, there should be a noframes index page (even if it's quick and dirty), and preferably backlinks in the content pages.
The other problems with frames, of getting an inner page with no frameset, can be resolved by a suitable script.
If to go to the extent of scripting a bookmarkable entry, by script-setting the frameset (eg. Framesetpage.htm?mainpage1), then you get to the point of negating the reload saving of using frames to split the constant index from the body pages - in that case, putting the index as an Iframe in each body page is probably better, with the current level of support for IFRAME.
A word on FONT, the evil FONT tag.
Before CSS styles, FONT was about the only way to vary text appearance in a directly specified manner - the other elements could do a few preset things.
Now, every elemement may be restyled in block, restyles selectively, or restyled individually - the ability to set a "very important" style and use it consistently (use a linked stylesheet for a whole site, in preference to embedded styles in each page) means that not only do the pages all conform to the same style, but that you can restyle them all with just a stylesheet adjustment.
The equivalent to the old FONT tag, is SPAN, an inline element that serves only as a placeholder for styles.
Of the "modern tags", the one I like most is DIV - unlike P, it can have space added above, below, both, or not at all, and it's great for doing inverse header lines - it can also be floated as a box, in the same way as images, and using DIV instead of misusing tables usually means a progressive render, while many browsers must complete a table before rendering it.
Of course, Offbyone, being trapped at HTML 3.2 level + frames, does not know DIV, SPAN, styles or IFRAME.
http://www.offbyone.com/ob1_tags.htm