It's really intended for disabling features that would normally be there. I don't know why it would ever make sense to @disable a normal function.
Consider the case of `alias this` or a mixin template. You might make a wrapper type that disables a particular operation by writing `@disable void opBinary(op)` so it won't forward to the underlying thing.