Are there certain circumstances where one should close an old question as the duplicate of a new one (for instance if the new one is better and actually has answers)? And if not, then why does the system allow you to do this?
Absolutely. The age of a question is completely irrelevant when choosing duplicates. What we want is the best, most comprehensive and inclusive answer. If a question asked today has better answers than one asked four years ago, we should close the old one in favor of the new.
People often think that the age of the question should somehow be a factor when choosing which to close as a dupe of which, but it isn't and it shouldn't. We're writing for the ages here, each question and answer posted is supposed to help future visitors, and why would a user coming to the site in 2045 care whether something was posted in 2011 or 2015?
Just always vote to close in favor of the best/clearest question with the best answers.