Question: I'm wondering why some people release software as freeware, yet they don't release the source code. Why is that? I can think of some reasons, yet most of them don't make very much sense. Why would you want to keep the source closed but let the program be freely available (free of charge, not free as in freedom)?

Answer: 
I provide open source code as sort of a community service idea, and as a portfolio idea. 

If I was selling software directly - I don't, I'm employed in a position where the company sells the product, not me - I would *more* than happy to sell my software as closed source. Allowing competitors to look over my code and reduce my competitive advantage is not in my best interest, as a rule.

Put another way, I do not consider releasing software as open source to be a moral imperative.
Despite the general bad idea that security-through-obscurity is, in the malware removal field, its a constant cat and mouse game between those of us who write analysis/removal tools, and those writing cleverer and cleverer malware. Sometimes we release a tool freely to users to use, but try to obfuscate the tool's operation in order to make it more difficult for malware authors to defeat the defeat tool :)

This is obviously atypical for most software, but it's something I see all the time.