Why does Boolean Difference fail?

I’ve used the boolean difference modifier a lot, in fact several times on this particular model. But I’m trying to use it again now and it completely refuses to work properly. What I get is the ‘object’ object left alone as I would expect, but the base object isn’t right at all. Instead of a cut being made there are ghost faces created that you can’t do anything with, you can’t select them or delete them.

There is no combination of boolean I can perform on these two objects that will cut out the shape required, it’s just not having it.

Under what circumstances does this modifier fail? At least if I know I can try to avoid it.

Thanks.

Duplicate vertices
Non manifold edges
Non consistent normals

Supply example blend file for review

The Boolean modifier needs a clear “understanding” of the meshes’ volumes: What is inside? And what outside?
Therefore Boolean operations fail very often because of issues with inconsistent or flipped normals or modeling errors like non-manifold edges.

Right, so try to keep the mesh simple when applying the boolean. Or at least properly modelled. That’s going to difficult for me! Although I am getting a bit better. I do often check for duplicates, but never seem to have any, so I must be doing something wrong!