Within engineering, there are often multiple solutions to the same problem. The most appropriate solution can depend on any number of factors: budget, deadline, the abilities of the engineer / firm, third parties that need to be involved, etc. Magento development is no different.