Dipende davvero dalla situazione.
La codifica di un video, ad esempio, un processo che potrebbe richiedere ore, dovrebbe avere una conferma, solo perché si potrebbe accidentalmente premere il pulsante al 99%.
Il processo di inizializzazione di un programma di installazione o altra applicazione, d'altra parte, non ha bisogno di una conferma poiché in genere può essere riavviato abbastanza rapidamente e non richiede molto tempo per iniziare.
Se facendo clic su Annulla si avvia un processo che richiederà potenzialmente molto tempo (diciamo che è necessario invertire le modifiche), l'utente dovrebbe esserne informato, possibilmente con un popup, ma un testo accanto al pulsante potrebbe essere sufficiente bene.
La regola generale è di ridurre al minimo le finestre di dialogo di conferma il più possibile, se ad esempio potrebbe essere sostituita con un'azione di annullamento. Non penso però che questo si applichi alla maggior parte dei pulsanti Annulla.
+1 per il caso di operazioni temporali. Anche se non sono d'accordo sul fatto che "Annullare l'azione distruggerà i dati". Quasi tutte le forme ricevono alcuni input dall'utente, se si preme "Annulla", lascia che sia "Annulla"! – Hemant