One possible source of confusion in the example is that the class
GradeBook does not have any state, so it is not evident that
displayMessage() does not change it, since it does not have any.
Suppose you have some state (e.g. member variables) that is modified by
some other member function, then the use for the 'const' qualifier
becomes evident (and it is very useful too)
Moreover, if you declare the object as:
const GradeBook myGradeBook;
then the compiler will prevent invocation of non-const methods on it.