Only Admin and the moderators listed in the upper right of a sub-forum's topic index page can close a thread in that sub-forum.
Already posted in this thread are a good list of why threads are closed. If a reason is not obvious (and not posted in the thread) the only way to find out why a thread was closed is to ask the moderator(s) of the sub-forum. The moderator names listed for a sub-forums are links to their profile pages, which has a link to send them private messages.
Be aware, that a moderator may have deleted several posts (that you did not see) before the thread was closed. Closing a thread is a lot easier than "cleaning up" one.
While I was moderating, I tried to post a reason for closing a thread, unless it was obvious. When I first started, I would send a private message to the poster of a post that I deleted. Instead of seeing that as a courtesy, most saw that as an invitation to debate or, more likely, call me any obscene name that came to mind. I am sure the other moderators experienced the same. Except for new members, I quit sending notifications.
Tom