I’m not an engine dev so I can’t answer the question, but I guess there are a few reasons why this hasn’t changed more:
(click to expand for more thoughts on each)
1. Not everyone wants the same thing...not at all.
You’re talking about letterboxing, right? Adding black bars? That’s not what everyone wants. Many people specifically do not want to add black bars.
Personally, I mostly use Rendercam’s “Fixed Area” mode, in which there are no black bars and no set dimensions, but the user always sees the same number of square pixels (w1h1 == w2h2). I don’t think any other game engine does this.
Some people want letterboxing, some people do not. Some want letterboxing controlled by a different formula than others. Some people want the height fixed, the width fixed, or something completely custom. Some people will only use one view, some switch between multiple, some want to render multiple views at the same time.
2. It's already pretty easy to do what you want.
It’s not hard to change the render script to do exactly what you want for your game. A dozen or so lines of code might do it.
I realize that I can only say this because I know how most of it works. Most(?) people don’t, the render script looks like some scary, black-magic thing.
Defold has the features already, they’re just not as easy to use as you want, and more importantly, they’re not in the place you expect them to be. You (and lots of other people) expect them to be on the camera, but they’re in the render script.
Since a primary goal of Defold is to stay small, adding a new feature to do something that you can already do yourself is not likely to happen.
3. There's assets available if you don't want to do it yourself.
Why don’t you use Rendercam or Orthographic? Defold is meant to be used with extensions (or a lot of personal framework code), it lacks many features that other engines have.
Neither of these extensions is perfect, but there’s no guarantee that a built-in solution will be perfect either. I bet the Defold team would do a pretty good job, but it might not do what you want it to.
4. It could be a lot of work to add.
It would take a lot of research and development to make something along the lines of Orthographic or Rendercam that would work well for everyone. Britzl added Orthographic to github 3 years ago, and has been regularly updating it since then…
Of course any time spent on “feature A” is not spent on “feature B”, so someone’s going to complain no matter what they do.
I do agree with your general idea, but if you want something to change, I think you should rephrase your post as a feature request, and be as specific and detailed as possible.
Asking for, “a simple, useful camera2d component” is too vague, try something like: “I want to add black bars so that my camera always shows exactly the same thing on any device, and that’s way too hard and confusing to do with built-in features.”