The problem is that in a multi project environment, it doesn't do as intended.  In a single project environment, it also misses some things.  And it's not really possible to really know exactly what to clean.

If you *really* want to clean everything, then the simplest and most accurate way to do it is to let your VCS do it for you, eg:

    git clean -f -d -x