The concept is nothing new, it's just not something manufacturers picked on. Hobbyist are doing it all the time, usually in form of most devices either communicating directly or being bridged into queue. So
technically via that every device can call every other device directly so for simple things you don't even need programming
The idea is just to keep that within your own LAN.
IoT world mostly wants to create closed gardens so you buy other products around that garden.
Easiest way to make it easy for consumer is to connect your devices to cloud and so most decide to go that way, no need for end user to buy a hub.
And even if you need to (say devices use zigbee and you need a bridge), putting that in cloud means user's phone can always access it, regardless of whether they are connected to the home's wifi, without much fuss (as home internet will most likely be behind NAT/firewall so it can be hard to access directly