In Stack Exchange sites, the Help Center has a "What topics can I ask about here?" which lists the topics that are allowed in question, but also which topics are not allowed. For example, for Drupal Answers the list is the following.
- Comparison between Drupal and other CMS's, blog software, or similar software
- Requests for tutorials, and other online resources
- Requests for writing code from scratch
- Building a site from scratch
- Implementing a functionality, or a layout seen in a site, for which only a screenshot or a site URL is provided
- Issues found in existing modules/themes
- Issues about drupal.org, or any of its sub-domains
- Recommendations for hosting
Given those descriptions, it would be better for users who flag a question to close it to flag it as off-topic, without giving a sub-reason. This would allow to use the following workflow for questions flagged as off-topic. (It's the same workflow used for questions flagged as duplicates, unclear, too broad, or primarily opinion-based.)
- The user flag the question
- The question is added to the Close Votes review queue
- Another user votes to close it
- The flag is automatically handled, and marked as helpful
For off-topic questions for which a sub-reason doesn't apply, the user can only flag it for moderation attention and use a custom reason. It means only moderators can see the flag, and only them can decide whenever close it, or keep it open.
The alternatives for the users who can only flag would be:
Choose a sub-reason that really doesn't apply for that question; this would give the user the habit to choose a random closing reason, since the question gets closed in any case
Choose another reason that is not off-topic; also in this case, the user would get the habit to choose a random closing reason, with the effect that the user would be confused about why sometimes the question is closed, and sometimes it is not
I can understand why using a custom comment is left just for those users who can vote to close it, but I think that allowing those users who can only flag to flag a question as off-topic (without giving any sub-reason) is preferable to having the user using a random flagging reason or letting the moderators only decide about closing the question.
This change is probably indifferent for Stack Overflow, but for sites like Drupal Answers it could make a difference. IMO, it doesn't make sense that (for example) flags for duplicates can be handled from the community, but a flag for a question the Help Center defines as off-topic needs a moderator to handle it.