Closing a question is primarily done for one reason, I believe. If a new user's question is hidden with no explanation, they may not understand what they did wrong, and as such possibly not attempt to ask other questions, thus giving the DB less activity. If the question is closed, however, the asker can easily see where they went wrong, and how to correct that for next time.
It also gives a person ample time to see that their question is against the rules. Like I said before, immediately hiding a question can lead to confusion as to where it went, and what was done wrong. Most closed questions are eventually hidden, but it sometimes stays up for a while, to ensure the asker saw it.
Closing a question still shows the question, and you can still comment and flag it, but no answers can be posted. There's usually a reason as to why it was closed. Hiding a question completely erases it from the public eye, nothing can be done unless the question is reshown. Pokemaster can also delete questions, but this isn't done often.
Hope I helped!