There is no such thing as 'a clean program'.
When you install a program, then perhaps remove it, or make modifications to it, it will always leave a trace on the hard-drive. If you run a defrag check, it should show up all the bad and good, or those that it cannot remove spots, and the program itself should then advice if the hard-drive requires defragmenting.
Whether you take this option is another thing, but personally I would recommend that a defrag check is undertaken, when the machine seems a little sluggish or possibly error prone. On the whole, it should basically be a system maintenance check, like any other checks?.