A hierarchical model can make fine-grained distinctions where data is plentiful, and back-off to more coarse-grained distinctions where data is sparse.
current hierarchical models are hindered by computational complexity.