O bom do SimpleFactory é que você pode "subclasseá-lo" para implementar diferentes maneiras de criar objetos.
Para casos simples, essa classe abstrata poderia ser apenas uma internface.
Esse Padrão é um Padrão de Projeto "real" porque está consonante ao Princípio da Inversão de Dependência (Dependency Inversion Principle), o "D" dos princípios S.O.L.I.D.
Isso significa que a classe FactoryMethod depende de abstrações, não de classes concretas. Esse é o verdadeiro "truque" comparado a Simple Factory ou Static Factory.