This question has probably been discussed to death, but I don't feel like I have a good answer. I work at a company where customers are on different versions of our product. When a bug is found, we determine what was the oldest release of the system that was impacted. Developers then checkout the appropriate branch for that bug (or hotfix branch), make the fix, deploy it to a QA environment, verify the behavior, and then merge it forward to as many release branches as there are between that and master/main.
There's a lot of problems with this approach. Mostly, the closer you get to master/main, the more the codebase changes. Merging/rebasing/cherry-picking becomes a fool's errand, to the point where the developer essentially ends up rewriting the fix in a newer branch. QA obviously needs to test the fix in every release environment, then, too.
We also struggle to merge forward frequently enough. Since most developers on the team do not have merge rights, it falls on a more senior-level developer to merge forward. The typical result is multiple fixes will get merged forward at once. Meanwhile QA is blocked waiting for this to happen (even if it's for a few days). The senior developer also is not intimately familiar with all these changes so it can be a struggle to guess/coordinate on how the merge should take place, or whether to ask the original developer to just re-implement their changes.
Because doing a rebase would be difficult, often we do merges/cherry-picks instead. We also do a lot of squashing. The end result is that the git history is misleading, to say the least. For example, I look like a superstar because my name ends up being on almost every line of code because I did the merge.
Some companies seem to push the idea of fixing bugs in master/main, and then back-porting them instead. I am not sure that is much easier or more true to history.
Typically, throughout my career, when I struggled with stuff like this, it's been because the company I was working for was missing some fundamental idea or it was an organizational/practice-related problem. That said, my current company seems to be in a much better position that anywhere I've previously worked.