Although there may be times when a factory template is not needed, where it may be required in other languages, there are still times when it would be advisable to use it - maybe this is just a way to make your API cleaner - for example, as a way to prevent code duplication, which decides which of the following subclasses to return.
From the Wikipedia article you linked:
Use the factory pattern if:
, .