A lead developer on my project has taken to referring to the project\'s toString() implementations as \"pure cruft\" and is looking to remove them from the code base.
<
I would say you should implement toString if that is an expected use case or requirement, to display the object as a string representation (either in logs, on the console, or some kind of display tree).
Otherwise, I agree with the developer - every time you change something, the toString can break. You may have to be careful about nulls, etc.
Many times, though, it is in fact used in debugging or in logging, so it isn't obvious that they should be left out at all.
I agree with jsight that if they are already written, and written decently, leave them in at least until they get in the way (such as you actually add a field to a class).