A lot of that is fragmentation. I enjoy reading up on home automation and building up a few things (don't have much, but I figure I can build up over time), and the one overriding factor is just how every single company feels the need to develop their technology above all else. No standard communication technology, no standard API for interacting with the device, no compatibility with other systems. You end up with many many "smart bridges" that only do one thing and have to chain them together to get anything done.
There's just a complete disconnect between manufacturers and users when it comes to value as well. A good recent example: for the same price, I can get a Lutron smart bridge, which only supports Lutron's smart lights and blinds, or I can grab a Wink which supports Lutron's stuff plus Z-Wave, ZigBee, BLE and Thread. There's half a dozen smart hubs on the market with the same kind of problem. Even the more generalist hubs like Vera or SmartThings tend to miss at least one thing which means you'd have to have many of them to fully cover everything (namely, Lutron's stuff, because they decided they'd have their own proprietary communication method). Philips Hue poses a similar issue: it's proprietary and doesn't integrate unless you also grab their hub.
Basically, they all want to lock you into their system, even though no given system has everything you want. On top of that, they make extension and customization really limited, often preventing integration (Lutron sells a telnet enabled bridge, but only to professional installers, otherwise it's fully locked down). I really shouldn't have to run Home Assistant on my home server to make Wink not suck, but if I just stick with Wink's app (no PC app, no website), the automation basically amounts to a dumb timer and making switches do something.
Smart homes should feel smart, almost magical. Right now you just end up with 10 bloody plastic boxes which all do one thing not all that well and rarely want to work together properly, and if you lose internet... tough luck (next to no smart devices support local control). If you want to do all the stuff they show in ads, you better be ready to start hacking, because none of them really do that without integrating into a third-party system like Home Assistant or OpenHAB.