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: 
One of my favorite productivity tools is freeware. I asked the author about the source one time, and he said he couldn't release it because it contains a lot of proprietary code that belongs to his employer. So I suppose that his employer doesn't mind it being used in a free tool, but that it's also being used in their commercial products and they don't want to give away the code to it.
There have been 2 great answers so far but here are my reasons that I can see:

1. It is more trouble than it is worth.
2. They use the freemium model
3. Don't feel they should

For #1, if the product is free and the person isn't seeing any profits from it, they may not feel like having to deal with hosting the source code and making sure that they update it whenever they make changes. Now, I know that it isn't that big of a hassel but who knows, it may be big enough to discourage some

For #2, if they use a freemium model, then releasing source will basically allow people to add in the features that they charge for and cost the developer money.

For #3, I think that it has been a tradition (of sorts) for Windows programs not to be open source (no facts to back me up so I could be wrong). Windows has been a closed-source platform so it isn't expected to release source for something that is free. The original question doesn't specifically mention Windows, but that is where I see the majority of free but not open source software.