Should I add a redundant "Cancel" option?
The user starts an action, and, afterwards, the system determines that some special condition is present which warrants further confirmation from the user:
download bmml source – Wireframes created with Balsamiq Mockups
In the example above, "No" would do exactly the same as "Cancel". Should the "Cancel" button still be present?
My reason not to include it: It would be redundant and users would wonder about the difference between "No" and "Cancel".
My reason to include it: It allows an "easy way out" for the user: "I don't want to read, think about, and understand the evil scary message box; please just pretend I didn't start the action at all."
Note: I do appreciate alternative suggestions (such as a completely different message box design), but I would also appreciate feedback on which one of those two options is preferred (for example, in situations where the UI library offers limited options).