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.