Aside from that case (which is quite common, tough I prefer to name the variable and the parameter differently so I can distinguish them better) and from using it as a constructor, there is another case.
Somethimes you want to pass the very instantiated object to a method. In that case you use this as a parameter for a method that recieves a class of that instance. For example, having a method with an auxiliar class that does increments:
public class MyClass {
private Integer value = 0; //Assume this has setters and getters
public void incrementValue() {
Incrementer.addOne(this);
}
}
And the incrementer class has a method like this one:
public static void addOne(MyClass classToIncrement) {
Integer currentValue = classToIncrement.getValue();
currentValue++;
classToIncrement.setValue(currentValue);
}
For more information, check the documentation.