For any kind of app, the compile and build feature can get messed up because of the incremental compile feature and other glitches that can result in your programming changes effectively being ignored while previous versions of classes continue to be used in your test runs. Drano: Select the project (highest folder) in the Project Explorer, and choose Project > Clean.
For apps using Apache Ivy to manage Maven to manage dependencies to include libraries in your project, Ivy can get confused causing failures in downloading fresh copies of needed libraries. Drano: I'm not quite sure of the correct menu item, but I believe on the context menu that appears when you click the project (highest folder) in the Project Explorer, you can choose Ivy > Clean All Caches.
When building web apps in the edition Eclipse Java EE IDE for Web Developers, a couple more pipes can easily become clogged. When configured with an external copy of Apache Tomcat, Eclipse does not actually run your app inside the folder of that Tomcat. Instead, Eclipse creates a hidden folder, nesting there the necessary folders in which to write your servlets, caches, logs, and other such files when debugging your web app. Those files can get out of whack, such as failing to update the servlets or related libraries. Drano: On the context menu that appears when clicking the server configuration listed in the Servers pane, choose Clean. Remember to stop the server first (click the red square icon).
Yet another problem with web apps is the built-in web browser using its cache rather than refreshing a page. Or the web browser may store cookies that need to be deleted for fresh testing. How does one clear Eclipse's internal web browser's cookies & cache? I don't know yet. Perhaps someone will answer my StackOverflow.com question.