Some of the regressions are not really inevitable, and we definitely need to improve our QA and testing process to make sure such things don’t happen too often. Things used to be a lot better at some point, but this culture was a bit set aside over time.
There is of course no bug-free code, but people should spend some time to test their own changes, and consider the risk of breaking things. Sometimes such changes have to be made, still. But it should be done with proper planning, so that we can still get a stable release from time to time
Work is on the way to create a stable branch, so that experimentations and other risky changes can be tested there. As (experienced) users, you can also help by testing pending changes on Gerrit (you will need to build Haiku yourself) and anticipating possible regressions, before they land in the nightlies.