É uma resposta automática a um erro, é mais desejável se você puder lidar com o erro e se recuperar dele. Se a transação for revertida automaticamente, você não terá essa oportunidade.
O problema que Dan menciona em seu blog surge por causa do aborto do cliente, dentro do SQL esse aborto não existe. Portanto, dentro do SQL, o padrão é não abortar automaticamente as transações.