Хотя бывают случаи, когда фабричный шаблон не нужен, когда он может потребоваться на других языках, бывают моменты, когда его можно было бы использовать - это может быть просто способ сделать ваш API чище, например как способ предотвращения дублирования кода, который решает, какой из серии подклассов вернуть.
Из статьи Википедии, которую вы связали:
Использовать фабричный шаблон при:
- Создание объекта исключает повторное использование без значительного дублирования кода.
- Создание объекта требует доступа к информации или ресурсам, которые не должны содержаться в составляющем объекте.
- Управление жизненным циклом созданных объектов необходимо централизовать для обеспечения согласованного поведения.
Все это все еще может применяться, когда язык набирается уткой.