A couple of times, some questions have a lot of grammatical errors due to the fact that the people asking them are not good English speakers. Other times, the questions are not asked well because the person asking could be a newbie in the area in which he/she is asking the question. At times people don't see reasons why questions might not be asked properly and simply down vote it. Is it better to down vote or to comment (telling the fellow things that can help him state his problems better) or to edit the question
some questions have a lot of grammatical errors due to the fact that the people asking them are not good English speakers.
If you notice that, but the point of the question is clear, then correct the grammar/spelling. And even if it's not entirely clear but you sort of get the idea where the question is going, ask for clarification. Not everybody is fluent in English, so when I see that some effort has been put into the question, I usually try to correct and clarify it.
Other times, the questions are not asked well because the person asking could be a newbie in the area in which he/she is asking the question
If the question is a genuine one and not a duplicate or something that can be answered with a Google search or a RTFM, then help and clarify it. Or coach the OP towards a proper question.
I would generally reserve my down vote for those questions which show no effort on behalf of the OP. And even then I personally often prefer to vote for closure (if there is no way to save the question) rather than down vote. But then again it is not up to me (or anyone else) to say when you should or should not down vote. You're free to do with your vote whatever you want.
On Stack Overflow (but not the newer sites) we have many more questions than we need – but we still benefit from more quality answers.
As badly written, unclear questions make it less likely someone will stay about to answer questions, I think we should not be too concerned if our actions leads to less low quality questions being asked!
As a thought experiment, would SO be better if the 10% of the users that ask the least clear questions were to never use the site again?
I feel that down voting due to the grammatical quality of the question is counterproductive and disheartening, you said yourself they may not be good English speakers. In this case i would merely edit the question so that it makes sense to others.
If questions asked are not asked well due to the asker being new to the subject i would also reserve my down vote, as this is a community site for those of all abilities i would hope the majority of users would try to point the asker in the right direction.