"Deprecated" usually means the method has been replaced with a newer, preferred way of accomplishing the same thing. The old (deprecated) method is kept in the API only for back-compatability, and should not be used in new code. [ November 23, 2006: Message edited by: marc weber ]
"We're kind of on the level of crossword puzzle writers... And no one ever goes to them and gives them an award." ~Joe Strummer sscce.org
As and when better way to do things are found , the old method is rendered as deprecated.For most of the cases , the javadoc mentions that why that has been deprecated and what is suppose to be used in similar situations.
Even I have seen that in many of the projects , they do a clean up process from time to time for the removal of the deprecated code.