If I'm following, ethereum is based on a single blockchain. It is counterintuitive to me, it seems the natural way to achieve the goals of such a project should involve a multitude of blockchains -- one per app essentially.
The disadvantages of centralization are many (so many that I leave them as an exercise to the reader) and the only positive feature of centralization I can think of is that it allows specifying cross-app contracts. But it shouldn't be beyond the wit of man to design a system that allows cross-blockchain contracts: for example, a peer to peer file storage services could be specified in the file storage blockchain with references to currency blockchains for payments. The user buying file storage would have a client talking to their service's blockchain and to the currency blockchain, without having to load/talk to the entire world of totally unrelated contracts.
That is, it seems to me that ethereum should be a toolset to create blockchains, not itself a blockchain sponsor trying to get all business conducted in one single place. What was the rationale for the decision to be centralised? I understand that being open source people will be able to start their own blockchains with ethereum code, still I'd like to understand what motivated this apparently baffling choice.