Or, to dispose of unwanted PCs and laptops, you could just run Bleachbit or any other HD scrubber utility, then put the machine out on the street or your front fence intact with a note saying "free for the taking, works but OS-wiped." Include any manuals, driver CDs, etc.
Someone who isn't as well off as you will probably appreciate it.
[ Added: HD scrubber software works by repeatedly overwriting all sectors with random bit patterns. After even 3 or 4 cycles there's no way any original data is going to be recovered by anyone. And the software overwrites as many hundreds of times as you like. Physically smashing working drives is just barbaric. If the drive is dead and you can't run a scrubber, then sure, recover magnets then crush or burn the platters. Recycle the metals.]
Likely failure causes of long-idle drives:
- Stuck heads - easily fixed by tapping and quickly rotating the drive case back and forth, using the platter inertia to break the sticktion.
- Firmware flash memory data loss. This is guaranteed to happen eventually, and as flash cells get smaller the timescale must be shrinking. Very unlikely any modern drive is going to work after 15 to 20 years storage. It might be a good idea to reflash the firmware every 5 years.
- Decay of the magnetic domains on the platter, also the servo tracks. As head, track, domain size and media thickness shrink, this timescale is bound to shrink too. Does any drive manufacturer publish figures on expected drive data retention time? Not sure if reformatting and rewriting your data regularly would help, as some things like servo tracks (and sector headers?) are not rewritten.
- The point-contact connections between stuff inside the drive case, to the PCB. The usual story of metal-to-metal contacts that are not pure gold, developing an oxide insulation layer able to withstand the low voltages. Sometimes just taking the PCB off, cleaning those contacts, and putting it back can resuscitate a drive.