One of the recurring themes in user interface design is confirming actions which might be destructive. You tell the computer to do something, and it says “are you sure?”
Well, here’s the thing. For that question to be answerable, it really needs to indicate what it’s asking about. And it often doesn’t. Older Windows was particularly bad about this — it would ask whether you wanted to replace one file with another, and give you some information about one of them, but not the other. Textpattern, which is mostly pretty friendly, just has little dialog boxes that ask “are you sure?” It doesn’t distinguish between “approve comment”, “delete comment”, “mark comment as spam”, or “ban commenter”. Moneydance will ask “Are you sure you want to delete all of the selected entries?” even when only one entry is selected. Rift’s “report spam” feature confirms that you want to report spam, but doesn’t show the name of the person it thinks you wanted to report — a problem in an interface where the click targets can move faster than you can click (because it’s a scrolling chat window).
For some reason, things which do this tend to favor modal dialogs, so not only are they asking an unanswerable question, they’re preventing you from doing the research you’d need to be sure. Cancelling and trying again doesn’t necessarily help, because you might misclick the second time, too.
Suggestion: Figure out what users need to know to answer the question. Make that information available in some way, even if you have to hide it behind one of those little triangles for expanding hidden data.