De fato o Debugger é uma ferramenta maravilhosa! Caso você tenha duvida em entender a lógica final utilizando a atribuicão Null Acompanhe as reatrubuicões de entradas e saidas da variavel tarefaSelecionada atravez de um console.log inicial e um final!(junto com debugger)
li.onclick = () => {
debugger
console.log('entrada', tarefaSelecionada)
document.querySelectorAll('.app__section-task-list-item-active')
.forEach(elemento => {
elemento.classList.remove('app__section-task-list-item-active')
})
if (tarefaSelecionada == tarefa) {
paragrafoDescricaoTarefa.textContent = ''
tarefaSelecionada = null
return
}
tarefaSelecionada = tarefa
console.log('saida', tarefaSelecionada)
paragrafoDescricaoTarefa.textContent = tarefa.descricao
li.classList.add('app__section-task-list-item-active')