To hide concrete class instantiation from the client.
Factories return abstracted interfaces, which helps in hiding the concrete implementation details from the client. This abstraction enables easier swapping of implementations without affecting client code. In an e-commerce platform, a shipping factory might return a ShippingMethod interface, allowing different methods to be used interchangeably.
Additional Notes
Why use a Factory for creating abstracted interfaces?