The general criterion I would think is this:

**Does having this question remain open add anything that's not already covered by the other question?**

It's possible to have countless minor variations on essentially the same question, and arguments could be made that they are in fact different questions, but are they really?  If the original question contains information in it's answers that also answers the new question, then - IMO - it's a clear case of "close as duplicate".

This all depends on perspective.  For me, **close as duplicate is not a slap-down** and it's not harsh moderation.  It's actually something very different to those - it's actually a **valid way of providing an answer to a question**.  So when I vote to close as duplicate, I'm most definitely *not* saying "you stupid person, that's been asked before, ha ha"; what I *am* saying is "here, read this other question, it contains the answer you're looking for".  That's a key distinction, and maybe it doesn't come across in the stock text used for closing duplicates.