The purpose of const is to modify the type of the implicit 'this' pointer. By default *this is a const pointer to a noncont version of the class type.
To answer your second question - this type of definition only arises in the contest of a class member function. *this is a pointer to a member of the object instance.