That's where we disagree. Sometimes an alert is just what you need, and can be better than an undo function (which can get rather complex as your ui gets more sophistiated - hence my illustrator issues).
Illustrator is clearly better with undo, but I don't think basecamp, for example, would be.
There are some things that you change or delete frequently, and that have little value - the points in my illustrator file, for example. I might want to move one a bit, delete it, and then put it back. This is when you want an undo, and are willing to pay its price, both in ui complexity and implementation cost.
Other things, you want to delete only occasionally, and may be of high importance, like a character in a video game. this is when you want an alert. If it's not something you do all the time, it's not habit forming ( in the context of this particular game). It adds no complexity to the ui and has nearly no implementation cost, yet it helps protect your important data.
If you go back to the video game example, you have a list of saved games/characters and you can choose to delete a character. Pretty standard stuff.
Now you add an undo button and you've gone from two actions to three actions. Furthermore, does the undo apply just to when you delete characters, or can you undo the progress you just made with a character? If it's the former, then your undo is inconsistent. If it's the latter, if you accidentally undo, then you want a 'redo' so you can't lose your new changes either. So now you've doubled the number of options the user can take. And how often are you going to delete a character anyway?
Or, you can take the approach games do, which is simply ask you 'are you sure you want to delete this character?' Given this response is distinct from the 'continue game' action, which would display a loading screen, players are likely to notice the prompt. Why complicate things?
Undoing a character delete is fairly trivial. The reason their is a prompt in most games is that their is no universally excepted way to undo something in games. It's become accepted to have a confirmation box.
As for consistency in a game, menus and the games UI rarely share the same structure. It's also generally except that you don't put up a confirmation box for the player to level up.
> The reason their is a prompt in most games is that their is no universally excepted way to undo something in games. It's become accepted to have a confirmation box.
Honestly, how many actions in a game does it make sense to undo, unless you're playing Prince of Persia: Sands of Time? I'm a big proponent of 'make everything undoable' but you are stretching it way beyond its use here.
Illustrator is clearly better with undo, but I don't think basecamp, for example, would be.