What does "delete all disabled modules" do in Jenkins?

When changing the module structure of your Maven project, Jenkins has no way to know why a module suddenly appeared or vanished.

Did you add a new module? Jenkins will expect it to stay.

A module disappeared? Maybe you moved it to a profile or maybe you deleted the module or maybe you renamed it or maybe the build failed early - Jenkins can't tell for sure.

So it keeps the old module around. Say you build a project and it has the modules parent, 'a' and b. After a while, you rename b to x. When you display this build in Jenkins, you'll see four Maven modules:

parent      0.01s
a           0.3s
b (skipped)
x           0.5s

Jenkins keeps b around since it can't be sure when to delete it.

If you see such "skipped" entries and you're sure that they don't belong there, click on Delete All Disabled Modules to get rid of the obsolete ones after making sure that the build still contains all the modules it should.