And there is all sorts of minor hardware and sophisticated (but generally free and open source) software that can turn a PC into a useful lab tool.
Step 1: Lab Power Supply
With slightly more effort, you can add some fuses and ammeters, both of which are probably good ideas.
With significantly more effort, you should be able to come up with a variable voltage current-limited supply that still fits in a bay.
(Picture from https://www.instructables.com/ex/i/2F7340901BE310299AD7001143E7E506/)
Step 2: Oscilloscope From Sound Card Inputs
With additional effort and $$, you can add a more complex analog front end for better range, isolation, input impedance, etc.
(with SIGNIFICANT $$ and little effort, you can buy a half-scope that connects to the computer via USB and has real scope-like functionality and bandwidth. It'd still be somewhat less than a real scope. (but then we're talking about $$$ where it would make sense to put this in a brand-new computer.))
Picture from http://www.zeitnitz.de/Christian/Scope/Scope_en.html
Step 3: Function Generator From Sound Card Output
An additional analog front end would provide greater output range and power drive capability, clipping to digital levels, etc.
Pictures from: http://heliso.tripod.com/download/generator/dsg.htm
Step 4: Logic Analyzer Using Parallel Port?
Picture from: http://www.xs4all.nl/~jwasys/old/diy2.html
The outputs of the parallel port could also be used for digital signal generation (but without the timebase of the sound card, exact timing might be difficult to get.)
Additional electronics creates more capabilities, up to "real" logic analyzers that connect via USB.
Step 5: Protocol Analyzer Using Serial Port
Picture from: http://www.serial-port-monitor.com/screenshots-free-serial-port-monitor.html
Step 6: Assorted Simulators and Software Tools
Switchercad, MPLab, AVR Studio, spice, and many more.
Step 7: Summary
I'm particularly soliciting recommendations for packages that people have used and found useful, as distinct from half-finished projects that never quite worked....