The differences are not documented in any one place. However, you
can get the gist of it by reading the documentation on the individual
classes:
- TopExp_Explorer explores all the subshapes of a shape, but allows
you to filter on finding or avoiding particular types (see the
examples in the documentation). This is great if you are looking for
a particular type. This actually uses a TopoDS_Iterator internally.
If you are looking for a particular type of shape, this is the way to
go.
- TopoDS_Iterator more generally visits all subshapes of a shape. You
can optionally get those shapes with the location and orientation
fully applied. This is useful if you wish to visit all shapes of a
shape and is especially efficient if you don't care about the location
or orientation.
- BRepTools_WireExplorer returns the edges in a wire in the proper
order for traversal. Please note there are limitations when
the wire is not a closed loop and when there are singularities (see
the documentation for details).