Although decentralised networks often look appealing as a solution, there are a few compelling advantages of centralised networks which make them far more popular at the minute.
Understanding, programming and setting up a decentralised network is often much more challenging than a traditional centralised (client-server) model in the majority of cases. Take, for example, a mesh network (the topology used by ZigBee, Z-Wave and Thread), which tends to be structured like so:
(image from Wikipedia, in the public domain)
Nodes in the network must be capable of sending messages for themselves, but they must also be able to route messages across the network, which is more more complex, since each node must be able to calculate a route to the destination. The IETF has a rather interesting presentation on the routing protocols used in 6LoWPAN, a mesh network protocol that uses IPv6. As you can see, the design is far more involved than a traditional star network connected to a Wi-Fi router, and of course each node will need more computational power to handle the additional processing steps needed to participate in the mesh network.
The main problem of all of this is that each node will require more processing power, and hence cost more. A TechTarget article addresses this more generally:
Centralization is an attempt to improve efficiency by taking advantage of potential economies of scale: improving the average; it may also improve reliability by minimizing opportunities for error. Decentralization is an attempt to improve speed and flexibility by reorganizing to increase local control and execution of a service: improving the best case.
The other side effect will be that the increased computation will lead to a higher power consumption (although this tradeoff may not be that significant compared to long-range transmissions which would otherwise be necessary).
Unless security is built-in to the design of the decentralised protocol, it can easily pose a big problem. Since nodes will be passing data between each other, it's difficult to guarantee the integrity of each packet, since one router node could easily replace one packet with another, and the receiver would never be able to tell the difference. A Chron article describes this issue well:
If a computer becomes infected or malicious computer enters a mesh network, it can pretend to be a trusted member of that network and then modify sent data and disrupt how the network passes information. In a black hole attack, information passing through the infected computer will not continue through the network, blocking the flow of data. In gray hole attacks, some data may be blocked, while other data is allowed, making it seem like the computer is still a working part of the network. Wormhole attacks are harder to detect: They tunnel into a network computer from the outside and pretend to be other nodes in the network, essentially becoming invisible nodes. They can then monitor network traffic as it passes from one node to the next.
Economies of Scale
Large cloud platforms such as AWS or Azure allow you to set up a centralised server for a price that is dirt cheap - Amazon and Microsoft have the benefit of running truly immense server farms which allows them to provide server space for a very low price. Have a play with the Azure pricing calculator to see what I mean - you can run a function 1 million times in a month, using 128MB of RAM and taking 5 seconds per execution for £2.20/month, and scaling up the capacity is trivially easy.
On the other hand, scaling up a decentralised network requires adding more and more nodes, and I expect that you would start to see diseconomies of scale, since the nodes would need to spend more and more time routing data rather than performing useful computation.
In summary, although decentralised networks looks like a perfect solution, they do have significant disadvantages, which is why many IoT developers still favour centralised solutions.