The use of final is when you create a class that you want to be not-extendable. This could be for example because it has some strange cross relations that would break on extending (as an outside user of a module would not know of that) or just because you don't want the user to steal your work and create "wrapped" classes for it.
Don't know if C++ knows of a similar mechanism, Eiffel does it for sure.
Don't know if C++ knows of a similar mechanism, Eiffel does it for sure.