I approve of the current UI.
There are two ways to look at this:
- "Why can't I delete this when I can delete other things?" (if there is no delete button)
- "Why can't I delete this when the button is there?" (if there is a delete button)
Option 1. The delete button inexplicably disappears on some questions.
There are a variety of reasons why you might not be able to delete a question. I don't know them all, but there's definetly more than one. If the delete button simply disappears on those questions, we will have a frustrating user experience where you try to vote to delete, but you can't for the life of your figure out how. ("The button was here a minute ago... now where could it be?") Although this upholds the principle of not showing users options they can't do, it breaks consistency with no explanation.
Option 2. The button exists, but an error message pops up
With this option, you are led to believe that you can delete a question (and you get filled with hope) but then your hopes and dreams are rudely dashed by the red pop-up of death. In this case, you are frustrated because you can't delete (exactly as above) but you know exactly why you can't delete. So this provides better usability.
As for jinguy's suggestion that we add strikethrough and a tooltip. This incurs a performance penalty (very very minor) at pageload because SO needs to provide additional logic to determine if deletion is possible, AND you still need the pop-up because the situation might change as your page gets stale. There are also relatively few 'delete-clicks' compared to page views, so to me it makes more sense to determine a question's deletability only when it comes up, rather than all the time.