I use NexusFont as library. I miss a lot of features, but at least I can add fonts without installing them. I would love an option to search for similar fonts, that would be very helpful, but I can imagine that is hard to program.
One difference between ttf and otf is that an otf can for example also contain the smallcaps and the ttf not. however, otf ≠ otf. I will probably not use the correct words now, but an otf can contain either spline (TTF-style) or Bezier (PostScript Type 1-style) curves. Sometimes this is the reason why the ttf looks great and the otf not, in those cases it is a usually a poor conversion.
Now, to make it a little more complex, a ttf can also an OpenType font... Older ttf files are in ANSI-Windows truetype format, but this is not a given.
Specifications for otf:
https://www.microsoft.com/typography/otspec/
Some more about the difference (focused on usage):
http://windows.microsoft.com/en-us/w...opentype-fonts
WOFF is a kind of super compressed otf or ttf. Subsetting can be cumbersome and support is also tricky. One advantage is that usually the filesize is a little lower.