You explained sharing data very well, but why is this better than hiearchical grouping?

posted to: Shared Mesh Data

In hierarchical grouping, you start with an object, then you create a hierarchy of grouped objects. I'm not sure how sharing is handled in most drawing programs, but it seems to me that you can just as easily create a hierarchy of grouped objects where some are shared. Then, if you go inside a group and change a shared object, all the other instances of the object change. Why is the explicit Blender way better than generalized grouping and generalized sharing?