Fragmentation.
Blockchain is based on a peer to peer system. So each peer/node have the freedom to choose which version of the software to run. This makes it difficult to implement significant changes to the codebase because each peer may have different views on the changes.
As to private chains, I dont see a point for it. Without the hashpower backing it, it would be the same as a normal database. As is the case with most ICOs.