It's usable when you have variables in a scope "above" the one you are working with.
int i;
public void foo() {
int i;
i = 3; // assign local variable
this->i = 4; // assign global variable
}
Other than accessing variables in another scope, I myself agree with your "minimalistic choice". Less is more. :-)