The approach is good when the number of applicable operators is large (the branching factor is high) but the number of relevant operators is small. The operator tables represent schemata that can be used to select an appropriate operator, apply the chosen operator and generate new subgoals.
The disadvantages? STRIPS provides little flexibility in its representation of state. For example, it is very difficult to include the notion that if the box contains an object then pushing the box entails moving the position of all the things inside the box.
This issue is related to the frame problem: when we apply an operator can we be precise about exactly what does not change? One way around this is to add so-called frame axioms - that state what is unchanged. This leads to a very large number of axioms!