JMich: Again, think of software that must write a very specific sequence of bits on your HDD/BIOS to update it (whether for security reasons or usability ones). If one bit is off, your HDD/Motherboard will be bricked. Would you as the provider of said software allow it to run without double and triple checking that the integrity is correct, or would you have self validate, and refuse to run if validation fails?
Again, think about software that is not so critical like for example GOG games. Do I want highly encrypted, heavily guarded software that refuses to run if validation fails or do I want software that runs and a hash value where I can if I want to check the integrity but if I don't want I just don't do it? I choose the later (always) because I guess that I trust myself more than anyone else. Is that naive? I highly doubt that.
I guess by now it has become very clear what you mean and what I mean.