IPFS is stopped by its insistence on things that are considered anti-features by non-cryptopunks, like immutability.
There's a lot of promise behind the "distributed web" or "P2P web" prototypes, but they haven't been effectively commoditized, and their value proposition over the top-level "spyweb" isn't strong enough for normal users who don't understand the inner workings. In fact, they tend to offer less end-user benefit, since a P2P web is necessarily slower as peers negotiate connections, deal with vaporizing peers, etc.
Consumers care only about getting their desires fulfilled as quickly and easily as possible. If you want a new web to dominate, you must make something that gives the consumers and/or the companies upstream from them an incentive to exert the effort to change.
Personally, I believe the web is already sufficiently "decentralized" in the necessary sense. We just have legal restrictions that prevent true competition with the tech conglomerates, as they're allowed to effectively claim exclusive domain over all user-generated content.
There's no reason I shouldn't be able to go to NewGoog or NewFace and multiplex in the available data streams hosted by the web nodes at google.com and facebook.com, except that this violates the CFAA and the Copyright Act, and Google and Facebook can and will sue you to make you stop. This is the primary constraint that has led to the recentralization of the web.
What do you expect when you make it a crime to send any type of undesired communication to a server? The CFAA doesn't just prevent harmful or disruptive access, but all unauthorized access. In practice, this is almost always used to stymie small innovators who are putting the data from a data source like Facebook to better use.
This is fundamentally anti-competitive, and again, it's no wonder that the web is coalescing into the hands of a few central controllers. It has never been more apparent that the user is the product being sold and peddled.
We need to reorient our perspective of the internet with users, not services, as the central entity, and give them full control over the data that they generate. Then, the user will be free again, without the need for complex P2P solutions.