I'll take the controversial stance with two criteria that I find to be of utmost importance.
1. The question has the potential to be concluded
On our FAQ, we clearly state "This is a place for questions that can be answered". The meaning of this is that there exists a possible conclusion to the question - an answer which will solve it. This answer might be a strategy, a method, a link, or a list. But the important point is that the question will be solved. An endless question, and likewise a mere discussion, is not as good as a question that someone can stride in, see an answer, and go "Okay, that's it!"
2. The question and its solution(s) are something that can be deemed "useful"
This sounds subjective, but in my eyes the very essence of a good question is determined by the fact that it will get upvotes. It needs to actually solve an issue that people find useful to be solved. This is very similar to my second set of points in this answer. There are many on-topic questions that can be asked which are simply not useful. The ultimate goal of the site is a resource for people to find in later points - so a question that gets answers which no one wants or finds will not be a good question.