This is a bizarre statement. There are plenty of reasons to write software that don't revolve around "I want this software for my own personal benefit". For example the person in question may just want experience of programming, and/or they may wish to contribute to something that helps others rather than themselves.
(I suspect many people are in a similar position in their day job, given the existence of large amounts of software for which the target audience is not computer programmers.)
I wasn't really trying to distinguishing between personal quantifiable gains from other gains. My being annoyed for someone else whose showed me ridiculous workarounds is a perfect example of a reason I would fix software so >I< can feel better about reality, myself and experience less pain and embarrassment for my profession if I help them again in the future.
For pure experience programming, sure we write "garbage software" to make the changes in ourselves. But if it is worth sharing (even for edification or statistical analysis) then we go back to a personal reason otherwise it has little relevance to the larger topic of discussion, and I personally focus on the garbage in "garbage software" rather than software.
(I suspect many people are in a similar position in their day job, given the existence of large amounts of software for which the target audience is not computer programmers.)