I have had exactly de same issue as B.Sathish, i found no advantage on Factory Method regarding to Simple Factory.
But the annoying thing, and what disturbs me is that the "arguments" given by the book seems to be "false" (at least to me).
It says, for example, on the page 135, the last question:
By subclassing the PizzaStore class, you decide what concrete products go into making the pizza that (orderPizza() returns. Compare that with SimpleFactory, which gives you a way to encapsulate object creation, but doesn't give you the flexibility of the Factory Method because there is no way to vary the products you're creating.
Which is false, the flexibility to vary the products you're creating is the same in both cases (you have to change 1 method of 1 class in both cases). And it is not the only doubtful assumption made in this chapter, in the page 119 you can find an introduccion to the Factory Method pattern as an improvement to Simple Factory, but the reasons it gives dont seem to be true to me...
As Ilja Preuss says, maybe less lines of code are needed, but i find it not crucial (because the welness of a pattern is not measured in terms of lines of code) and, anyway, this weak reason is not alluded by the book neither!
But let me go further:
The 3rd part of the chapter, the Abstrac Factory Patter has NO DIFFERENCE (to my eyes) with the Simple Factory!!! It is the same case, with the only difference that instead of 1 method like
getInstance("A")
The methods are not parametrized!! like as follows:
getInstanceA()
getInstanceB()
But if you substitute the ingredients by pizzas, you have got exactly the same structure.
Are they kidding? or am I wrong?
Regards!