It can lead to unnecessary complexity if overused.
While the Strategy Pattern offers flexibility by allowing algorithms to be interchangeable, overuse may lead to a proliferation of classes and interfaces, making the system harder to understand and maintain. This is especially true in simpler scenarios where a single, straightforward solution would suffice. For example, if you have only two simple discount strategies that rarely change, implementing a full Strategy Pattern might add more complexity than benefit.
Additional Notes
Why can misapplying the Strategy Pattern become a problem in production code?