Important when dealing with non-Java resources, such as open files.
Example: a class that opens a file should provide a close() method. Even then, there is no guarantee that the programmer will call the close() method, so it should be done in a finalize method.