For doing diagrams of all sorts I'm a fan of asymptote, in which you can write programs to draw figures (and moving, rotating, and otherwise spindling and mangling the result is easy, so repetitive structures are a snap). Check it's gallery (at the linked page). It brings an enormous variety of libraries, from 2D and 3D plots (and primitives to build your own) to drawing trees, fancy arrowheads, and so on.
Yes, there are native LaTeX ways to do all this, but the language doesn't fit very well, and (sadly) much of TikZ blows up when used with babel (at least Spanish), so that's out of the question for me.
Another alternative that I became aware of recently is ipe, this one is geared towards interactive (drawing with the mouse, essentially) use. Haven't tried it in anger, besides my drawing skills being a constant source of bad jokes from my students I guess that won't work so well.
For drawing graphs I find GraphViz useful. You can give LaTeX fonts for labels, but sadly not much else.
Both of asymptote and ipe are well integrated, in that you can specify LaTeX fonts and colors, and even label stuff with equations.