For my own use, I use pen and paper (for program design/brainstorming) and Inkscape if I need to have a diagram in a document (occasionally I use emacs' artist mode and ditaa for fun, too). At work, we use (org-wide) LucidCharts, which is decent enough at what it does (online diagramming tool with good collaboration abilities, can be embedded easily)