It solves the hacky kludge that is the state of the web. I suspect this opinion is unpopular, but the web was never designed for web applications. It was designed for static text and images. JavaScript as it is currently used (to drive complex web applications) is an abomination. Browsers and their monstrous, labyrinthine, all-encompassing codebases and extension ecosystems and security problems are an abomination. They're also broken in every way in terms of security. Nobody's responsible; the current state of the web is just the accumulation of two decades of layering technology upon technology and making the mistake of continuing to layer where we should have built something new. The initial discovery that web apps ran everywhere by default kind of prompted a tidal wave of development just for the web that few ever bothered to take a second glance at. As a result the browser became an operating system.
The web was not designed for web applications.
IPFS can fix this. Instead of putting all our shit in the browser, with the steaming mess of CSS, JS, JS frameworks et al, now you can write native clients that use IPFS to provide the same kind of functionality the Web does. The infrastructure is there.
The problem is that nobody wants to write a native client for every device. That's why the browser was popular to begin with -- it's an application as a runtime, an application that everyone knows about and anyone can install. That everyone does install. IPFS doesn't solve the problem of having to write native clients more than once for different platforms. But it sure as hell solves the hard part, which is the networking part. At least I think so.