A large collection of tools. The trick seems to be to find apps that're good at particular jobs, then compose the components drawn from those apps together into a scene.
1. PowerPoint for composition. Unless whatever graphic you're making is simple enough to be produced by just 1 program, it's good to have a canvas-like program that you can assemble the components in. For me, that's usually PowerPoint, since it can be pretty free-form. PowerPoint slides can be embedded into Word documents as active content.
2. Equations: Word's equation editor or TeX. Other Microsoft Office products like PowerPoint and Excel have an equation editor built into them too, but those equation editors tend to be inferior to Word's. I used to copy/paste Word-equations into PowerPoint. Mathematica's an option if you're using it anyway, though it can look kinda clunky.
3. Graphs (excluding labels): Excel or a ray-tracer. For simple graphs, you can usually do them in Excel -- just have to learn the customization options (which I think folks often overlook, getting discouraged by the non-customized versions). For more complex graphs, sometimes it's just easiest to write your own ray-tracing scene. Matlab can be decent for some 3D surface figures, once you edit out its labels and replace them with better ones.
4. Labels: Word's equation editor or TeX again. While graph-creating tools can often insert labels just fine, they tend to be a bit rudimentary. So, once you make a graph, put it into PowerPoint, then insert your own axis labels and other markup by copying them from equation-editor tools. If you want to add arrows, circle something, or anything like that, then you can use PowerPoint's shapes.
5. Simple flow diagrams: Microsoft Visio or PowerPoint, depending on the kind. PowerPoint's probably better for the simplest things, but Visio scales better for larger diagrams.
6. Engineering designs: Whatever CAD you made them in. For example, I used to put chemical process schematics together in AspenTech's Aspen Plus, then copy/paste them into PowerPoint for further markup.
7. Minor tweaking: Paint, Paint.NET, etc.. If you just want to tweak a graphic or something before pasting it into PowerPoint, simple image-editing tools can let you do that.
8. Security: Write your own script. If you have some graphic that might have hidden tracking information embedded in slight pixel alterations, then you can do stuff like:
a. round pixel RGB values to the nearest 5 (or whatever);
b. merge pixels together (like Paint would if you shrink an image);
c. save as JPEG or some other lossful format;
d. randomly (using a CRNG) mutate pixel values by slight amounts to inject invisible noise.
9. Complex diagrams: Ray-tracing. Honestly I love ray-tracing stuff; it feels like a brute-force solution to just about anything you could want to draw, and if you like programming, I think it's one of those projects that you really ought to do at some point just as a matter of being well-versed in computers.
---
Overall, my big tip would be to be aware of the various tools that can do parts of the overall job well, then compose them in a general canvas-like setting like PowerPoint, and then finalize any little tweaks using an image-editor.