(X)Fig is a menu driven tool that allows you to draw objects on the screen of an X workstation; transfig is a set of tools which translate the code fig. The list of export formats is very long, and includes MetaFont and MetaPost, Encapsulated PostScript and PDF, as well as combinations that wrap a graphics format in a LaTeX import file, which may include LaTeX commands to place text (compiled by LaTeX itself) as labels, etc., in the figures.
There’s no explicit port of xfig to windows (although it is believed to work under cygwin with its X-windows system). However, the program jfig is thought by many to be an acceptable substitute, written in Java.
Asymptote is a widely-praised development of the MetaPost language, which can draw 2D or 3D diagrams, and can also label diagrams with LaTeX text; copious documentation is available via asymptote’s web site.
This answer last edited: 2011-05-02