It's a problem of most buzzwords, there is no formal definition and it largely depends on context.
If I were to give you my attempt of an definition, it would be: the main idea behind "web3" is to have systems where no single entity can gate-keep users. It's not supposed to be "better than web 1.0", but mostly to be a contrast with the "walled garden" platforms and social networks that defined "web 2.0".
So, by that definition, social media services powered by ActivityPub that allow communication between different services are a step towards web3 compared with the "web 2.0" social networks like Facebook or Twitter. Messaging protocols that Matrix, XMPP are a step towards web3 in comparison with basically any messenger protocol that is controlled by Big Tech, etc. Content distribution based on systems like IPFS are a step towards web3 in comparison with traditional websites.
The main thing is these systems still have central points where users can be controlled or censored. An user of Mastodon (or any federated service) can be kicked out by the server admin and will have no recourse to get access back.
To be fully permissionless, a distributed system needs to be able to reach consensus without having to appeal to any central authority. "Consensus" here means basically anything about the "state" of the distributed system: was this message really sent by Alice to Bob? If Charlie wants to buy an e-book from David, how can we verify if Charlie has sent the payment to David, and how can David prove that Charlie now has access to the e-book file? This is the part where blockchain helps.
Thanks; the last part seems like "non-repudiation" - I did not think we need either centralized entities OR blockchain for that; I may be wrong though?
Maybe it was a bad example to talk about messaging. It's not just the "is this data really who they claimed to be", but also "is this data part of transaction between multiple parties who do not trust each other"?
You need to have distributed consensus to avoid double-spending. Can you have distributed consensus without blockchain? Yes, but only if your participants are selected a priori, e.g, Distributed Paxos.
The problem that blockchains solve is that it is the only practical way to solve consensus between parties that do not trust each other and that are not pre-agreed on.
It's certainly one I'm making. If we take crypto / blockchain out, what IS "web3", and how is it better to web 1.0?