i would also add regressions as a place where TDD is excellent: reproduce the regression with a failing test, then fix it
it is exasperating that TDD advocates will often not admit that there are any tradeoffs or contexts in which it is more or less appropriate, and I think it does a lot of damage to the reputation of the technique (which can be effective in some contexts) as consultants snake-oil