Na página Fundamentos do aplicativo do guia do desenvolvedor Android:
Por padrão, todas as atividades em um aplicativo têm afinidade entre si - ou seja, há uma preferência de que todas pertençam à mesma tarefa.
Uma atividade "singleInstance" permanece sozinha como a única atividade em sua tarefa. Se ele iniciar outra atividade, essa atividade será iniciada em uma tarefa diferente, independentemente de seu modo de inicialização - como se FLAG_ACTIVITY_NEW_TASK estivesse no intent. Em todos os outros aspectos, o modo "singleInstance" é idêntico a "singleTask".
Conforme observado acima, nunca há mais de uma instância de uma atividade "singleTask" ou "singleInstance", portanto, espera-se que essa instância trate de todas as novas intents. Uma atividade "singleInstance" está sempre no topo da pilha (visto que é a única atividade na tarefa), portanto, está sempre em posição de lidar com a intenção. No entanto, uma atividade "singleTask" pode ou não ter outras atividades acima dela na pilha. Em caso afirmativo, ele não está em posição de lidar com a intenção e a intenção é descartada. (Mesmo que a intenção seja descartada, sua chegada faria com que a tarefa fosse para o primeiro plano, onde permaneceria.)
Como nunca há mais de uma instância da Activity em qualquer um dos modos de inicialização, o botão Voltar sempre o levará para a instância existente da Activity em seu caso.
Uma diferença importante é que "singleTask" não requer a criação de uma nova tarefa para as novas Activities que estão sendo iniciadas quando algo é selecionado. Nem terá que remover essa nova tarefa no botão Voltar a cada vez.
Uma vez que sua pilha de atividades pertence a uma "tarefa" de usuário, e não parece que você tem uma estrutura Intent intrincada onde singleInstance pode ser benéfico para sempre lidar com eles, eu sugeriria usar o modo de inicialização singleTask.
Aqui está uma boa postagem de blog para mais informações, bem como creditado pela imagem: Android Activities and Tasks series - Uma introdução ao modelo de componente de IU do Android