The problem with closing tickets is that they show as "closed" in the public support centre. This upsets some customers who understand "closed" to mean that you consider the case to be resolved.
However, the fact is that you can believe that to be true - e.g. you performed some actions which appeared to fix the issue - and are waiting for the customer to confirm their findings. So the obvious choice is to set the ticket to "waiting for reply".
The result is that the customer never bothers to reply (in many cases) to let you know that it's fine now, which means you want to take one of the following actions:
1) Close the ticket on the assumption that it must be fixed
2) Open the ticket so that an agent can follow-up to make sure it's definitely resolved
Similar functionality can also help in another scenario:
- "On Hold until"
Often we have cases where we're waiting for some time to pass before performing some kind of action - for example we fix some issue and then need to wait until the next time a daily cron executes to ensure that the changes made were effective. In this case we need to effectively "close" and then resume the conversation at a later date: the problem is that when you mark as closed it will send you auto-reply for that action which is inappropriate until the issue is considered to be 100% resolved.
So really there needs to be some distinction made between "on hold until" and "closed" which at the moment are merged into a single ticket status.