I think you have this backwards.
There are many bugs to fix and Haiku is not stable enough for users (normal or not?) to use. Therefore we don’t make a release that’s tagged final.
If we did it anyway, we would just set the wrong expectations. People would think the OS is stable and ready to use, while it is not. The result will be more users, yes, but these users will soon find that they have been tricked, and that the product isn’t as good as expected. So they will be angry at us and leave again.
We only have one chance to do this, so we’d rather get it right. Until then, Haiku is good for users who are not made afraid by the “beta” tag, and, of course, these users are the ones who don’t get the difference between a beta and a final release
It’s great if you are happy with the current state, but many other people would not be, and so, we have to accept that we will keep a relatively small userbase for some time until we are ready to set more ambitious targets.
It is indeed psychological, but not in the way you think: the “release” tag sets higher expectations, and we must make sure we are ready to deliver on these. Otherwise it will just generate disappointment, people will react something like “seriously? 22 years of work for THIS? are you kidding me?”. Which is not the reaction we want.
The beta tag sets lower expectations which are maybe lower than our current state, so maybe we can consider switching to “developer release” or “release candidate” versions at some point. Are we there yet? I don’t know, and I don’t think it matters, we could make new names for release states as much as we want, no one would really get what they exactly mean (it is already hard to agree on a meaning for “beta”). So in the end we may as well stick with “beta” for one or two more releases.