Imagine, that you are creating an app. First, it is free. However, later on, you add a paid subscription. As you add more types of paid subscriptions, you need to rework the whole code because everything is hardcoded onto the ones you have. The solution to this problem is the factory design pattern, which I explain in this video.