Stack Exchange policy is clear.
You vote to close immediately when you find a question that you think should be closed, regardless of the reason:
From Meta Stack Exchange:
How soon should I "vote to close"?
Always vote to close immediately. I explain the rationale behind this approach in further detail here.
In summary: Yes, it increases the chances that the question will be closed, but that's actually a good thing for a couple of reasons:
It increases the likelihood that the user will take notice and actually fix their question in response to your suggestions. Unless you're dealing with a particularly conscientious user (and this is rare, because their questions are unlikely to be candidates to close in the first place), it's more likely that they'll ignore your comments as long as they can continue to get answers.
It prevents a flood of immediate answers (arguably a symptom of the well-known "Fastest Gun in the West" problem) that are speculative at best and/or will be completely invalidated after the question is modified to turn it into a real question. Those answers don't do anyone any good, and they're best avoided if at all possible.
And no, it does not force the author to re-post his question, not immediately or ever. Even questions that have been closed can be edited by the owner. So once the question is closed, that would be an appropriate time to sit up and take notice of the helpful comments that have been provided by the close voters. And once the question has been sufficiently improved, it can be re-opened, either with the vote of 5 different users (they can be the same ones who voted to close) or the binding vote of a moderator.
If you see a user posting a second question because his first one was closed, flag and/or close the second one as a duplicate of the first and ask him to go back and edit the original question instead.
This is network policy and it is standardized across all of the sites. I've seen many people complaining that closing questions is "mean" or "hasty". Close votes aren't targeted at a person. They're a way of restricting the quality of content on this site. Questions can always be reopened if they fix them. There's no concern about haste. A question either meets the site standards or it does not. If it does not, it should be voted closed. If the post is edited while in the close process, the people who have voted to close it can retract those votes. The system is designed to work this way.
When we fail to close questions that don't meet our standards, those questions may be "rewarded" by people answering them. Once a question is answered, the OP is unlikely to ever fix it and if they do want to fix it, they have to be concerned with possibly invalidating answers that jumped the gun by answering before the question was ready to go.
From the answer linked to in the post quoted above:
If the question is bad, off-topic, subjective, or meets the criteria for any of the other close reasons, we don't want people answering those questions. They didn't belong on our site in the first place. In fact, having those questions open and answerable is actively harmful to the community. The sooner those questions get closed, the better. That prevents a bunch of bad answers from building up, in addition to bad questions. It's the classic "garbage in, garbage out" rule, and we seek to avoid that around here.
Moreover, if users start to see lots of questions remaining open that don't meet our guidelines, that creates a "broken windows" problem. It starts to look like our guidelines are meaningless, that we don't enforce them, and that you can simply ignore them when asking a question. Especially on a site as large and as active as Stack Overflow is, we simply can't stand to tolerate such a thing.
I know that the users here all have their own opinions on whether closing questions is good or bad. If you don't like closing questions, I can't force you to do it. I would ask, however, that you respect the network policy for closing questions and our site's decisions about what makes a question close-worthy.