I'll add some color here.
The complexity you're referring to may be the runtime? It is more complex than, say, Bitcoin because it has for most purposes a Turing complete language baked into the protocol.
Bitcoin is a blockchain that forms consensus on the state of a specific implementation of a data structure (somewhat arbitrarily, a list of transactions) and it has a very limited set of operations to manipulate that data.
Coming to distributed consensus on a transaction ledger is ultra-useful, as we have come to know. But there may be other data structures that may be useful for distributed consensus as well. Rather than building a blockchain for each one, why not build that flexibility into one protocol so the developer can choose?
Ethereum is a blockchain that forms consensus on the state of a more general set of data types, with a Turing complete language to operate on the data.
More complex? Yes. But the hope is that this flexibility drives a rich developer ecosystem, where innovation can happen within the network, rather than having to build your own network from scratch.
As for decentralization leading to fragmentation? This is a feature, not a bug. It is the feature that allowed Ethereum to grow in tangent with a thousand other blockchain mechanisms. Maybe fragmentation will bring its demise, but it as breath of fresh air from our rapidly consolidating tech industry.