This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
As they point out, a lot of times it's easier to simply hyperlink through the chain in an IDE however. Function call graphs have not been very useful to me in object-oriented systems - I pretty much gave them up when I stopped using C.
I think I used depfind to weed out unused JARs, but that was about 2 years ago.
Also, no static analysis tool can 100% guarantee to find everything. Classloaders can load classes dynamically. A common example is JDBC driver loading.
Customer surveys are for companies who didn't pay proper attention to begin with.