The answer is very simple if you think about it, Edo is much better and here are the reasons...
Edo's have a mind of their own while puppets do not, therefore an edo will have experience, wisdom, reflexes and knowledge etc that the puppet master may not have. A puppet is limited by how much the puppet master knows about the puppets abilities. If Sasori has a Madara puppet he wouldn't know anything about the rinnegan abilities, he wouldn't be summoning meteors from the sky etc.
A puppet also has limited range to however far the chakra string can be sent out and also the puppet master must also have vision of the area or he wouldn't be able to see anything since puppets do not provide vision for the user. An edo however can be summoned and sent anywhere in the world, they have no range limit and the controller of the jutsu could be hiding anywhere, there are no chakra strings to trace.
Puppets can be destroyed, Sakura and granny what's her face destroyed many puppets and Sasori was unable to summon any of them back, edo's however regenerate by themselves, they may even be used for suicide missions, such as when Deidara tried to blow himself up, if he succeeded he could simply be summoned again and repeat the process, if he was a puppet he would blow himself up and the puppet would be destroyed forever.
I'm sure there are many more reasons why edo's are better than puppets but this is what comes to thought to me straight away on the topic
