Good question. Here's one of the areas where I think we went wrong with this vaccine.

First, let's look at what happens when you're exposed to a respiratory virus. It gets stuck in your mucus membranes and your immune system starts finding matches. Your immune system starts making antibodies that match parts of the virus. There are hundreds of different fragments (epitopes) that your immune system could look for as a "fingerprint". Of those hundreds, your immune system probably picks dozens or so. That means that a later (mutated) infection will likely have overlap with at least one of those and you'll have a quicker response. This also mostly happens in the mucus membranes and IgM gets involved before anything else gets turned on.

A traditional vaccine uses either a dead or live attenuated whole (or at least a large chunk) of the virus. And that's why we typically have success. There are still lots of epitopes and our immune system picks a few to react to. And your immune system will pick different matches than mine, that gives us a broad spectrum herd immunity because we all react to a different part of the virus, and small mutations never get a chance to win.

With this vaccine we did two things wrong.

1 - We picked one protein, the spike protein, as the only match for the immune system. So the immune system only reacts to one match. That means rather than spreading out and trying a broad approach, the immune system gets hyper focused on only one match. From the immune system's perspective, it only has one thing do to so it starts to over focus on one thing. From the population's perspective, we all react to the same thing, that means there's tons of evoluationary pressure for the virus to mutate away from that one protein and it has a free pass in the entire population (Omicron?)

2 - The second factor is the the delivery mechanism. Normally we use something like an adenovirus to deliver the (attenuated/dead) virus to the cells. What we do is simply inject a whole virus, the immune system sees it and starts the response. This isn't as good as a typical infection because IgM never gets involved, but it works good enough. Here with the mRNA vector, we're injecting the instructions to generate the spike protein and then our cells generate the spike protein which are then attacked (and killed) by the immune system. That's a good story and sounds like really cool science fiction. But there are problems with this

2a - Rather than killing an injected adenovirus, your immune system is killing your own cells that have been hijacked to express spike protein. Granted, you have trillions of cells, that's fine. But there are some cells that don't reproduce and you have all of the ones you're ever going to have (e.g. cardiac muscle). The mRNA was supposed to stay at the injection site, but that was shown very early to not be the case. It can go anywhere, and there's a Japanese study that shows that it tends to collect in cardiac muscle, testes, and ovaries. Don't know why.

2b - Your body doesn't really want mRNA floating around in the blood. We have an enzyme creatively named mRNAase that eats up any mRNA that just floats around (like when a normal cell dies and explodes). So to protect the mRNA good enough to get into your cells we did two things, wrap it in a lipid nanoparticle (little fat bubble). Some people are freaked out about that. I don't know enough to comment on the safety of those. The other thing we did is the scary thing: we used changed some of the bases in the mRNA.

DNA has ATCG as it's bases. RNA uses AUCG. The U is uradine. In nature, sometimes (in very small quantities) the uradine is slightly different, and we call that pseudouradine (I'll use P here, but they really use phi as the symbol). It behaves like uradine, but it looks different. It's harder to break down mRNA with P than U, but it's usually in such small quantities that it doesn't matter.

To make mRNA more stable (and resistant to mRNAase), we made the mRNA delivery with much much more P (I forget the numbers, but very high compared to nature). So what's the problem with that? The way this whole thing is supposed to work: Transfect a human cell with mRNA. mRNA makes Spike. Immune system learns about Spike and kills that cell. That cell explodes (apoptosis) and the contents get cleaned up. Any new infections of Spike are primed to be killed by the immune system. But if that mRNA is pseusourdinated, then it doesn't broken down by the mRNAase and it goes on to transfect a new cell and the cycle continues.

So we have constant production of more spike by our own cells, that both keeps the immune system on alert (this can be driving the IgG4 story) and it also means that our immune system keeps attacking our own cells (autoimmunity).

The way it was described to me is that the mRNA was supposed to be like a log falling in the forest, it would naturally rot and get cleaned up. But we manufactured a fiberglass log that looks in all ways like the natural one, but it doesn't rot.

Long post, sorry.

tl;dr - Natural infection means IgM does most of the work. Traditional vaccine trains the immune system on the whole virus. This vaccine trains the immune system on a single protein in a way that causes it to hyperfocus and kill your own cells and keep your immune system on alert.