I am not quite sure what non-manifold geometry is. I thought non-manifold geometry was just floating vertices and hole in a mesh. From my experience this is not always the case however. What is non-manifold geometry and what are the types of it and how do I avoid it? Is there a case where it is acceptable?
Non-manifold geometry is essentially geometry which cannot exist in the real world (which is why it's important to have manifold meshes for 3D printing).
Non-manifold geometry is usually a bad thing, because it will mess with things such as:
Among many other cases.
You might want non-manifold geometry in some kind abstract model (as non-manifold geometry cannot exist in the real world), but other than that I can't think of any reason why you might want it.
Common causes of non-manifold geometry:
Fixing non-manifold geometry:
You can select all non-manifold geometry with CtrlShiftAltM.
Internal faces can be selected by pressing 3D view > Header > Select > Internal Faces in edit mode.
Loose geometry (elements without any other connecting elements) can be selected with 3D view > Header > Select > Loose geometry. Note that it only selects vertices, edges, and faces depending on the current selection mode.
Other useful tools for repairing non-manifold geometry:
Since a common cause of non-manifold geometry is lack of thickness, the solidify modifier can also be useful.
How To Find Non Manifold Areas in a Mesh
While in Edit mode, you can select all non manifold areas with CTRLSHIFTALTM.
One type of non manifold situation is when you have overlapping edges.
For example, I'd frequently have a mesh that'd look fine, like this:
But then when I checked for non manifolds, I would get an edge highlighted like this:
I discovered the reason this edge was highlighted was because there were overlapping edges.
Once you find that edge, delete it, then put the dragged vertex back into place. One trick I discovered about how to put the vertex back into place easily is when you are first dragging it out out of place, only drag it on one axis, rather than freely in 3, because then you only have to snap it back to that one axis, rather than 3.