Program to draw pinouts (and easily visualize pin's multiplexed functions)
Latex + TikZ is popular in academia and you can use it to programmatically create very clean diagrams.
Illustrator is more user friendly, mass-marketed and has a more shallow learning curves.
Inkscape is open source software similar to Illustrator.
Visio is a diagram tool produced by Microsoft.  Widely used in engineering departments.