Well I'm not sure if you're young or just playing devil's advocate, but a young person often feels that way.

The whole knowledge * intellect idea that someone else here mentioned is far too reductive. You can be a ridiculously smart person who has read white papers and coding books, learned all about discrete math and project management, worked on as many projects as you could, and still not touch the maturity of an older software developer. Why?

Experience doesn't begin and end with topics directly surrounding your vocation; your whole life contributes to it.

As you age, you get to know yourself better. Old people have made far more decisions in their life than a young person has: lots of good ones, and lots of bad ones. You know your decision making process and its flaws. You remember what it feels like to reap the rewards of a good decision, and even more intensely, you remember the sting of a bad decision. You know, from experience, what decisions you should make, what ones you shouldn't make, and any confounding variables.

You also start to understand those same patterns in the human and organizational behavior of people you live and work with. You start to get an intuitive understanding of the kinds of mistakes various kinds of people make in various kinds of situations. There's a reason that older people– often ones without a ton of domain knowledge– are generally the ones making big decisions in a mature company, while the younger people are working out the details.

For example, the couple decades that I spent as a bouncer in clubs might not help me see if I'm making a bad coding choice per se, but it vastly increased my understanding of group dynamics, ego, negotiation, how to mitigate the damage of having to make snap decisions with a whole lot of consequences, how to respond when someone tries to intimidate me or make me feel uncomfortable, deescalating pointless arguments, and even starting a fight when one really needs to be started. (the worn-smooth restraint and fighting techniques have much less utility in the office... so far) Before I gained that experience, I'd have no way to have known it would proved useful in a software development career. I'm sure many parents, people who have coached sports teams, people who have experienced the death of an industry, or even people that have gone through messy divorces can all point to things they've taken away from those experiences which have vastly improved their judgement and maturity.

And it's not just the soft skills which are improved by this understanding. Being more mature means you write more mature code. I look at code I wrote 15 years ago and shudder. It's not that I have a better understanding of the mechanics of Perl or C now than I did then, but my sense of logic has been refined, I'm more patient, and I have a better sense of where to put in extra effort and where to cut corners.

When you're young, you're still mostly figuring out what you're capable of, but you don't have a very good sense of what your limitations are. When you get older, you've got a pretty good sense of what you can do, and a much better sense of how to keep yourself and everybody else out of trouble by avoiding what you can't do. The problem is, lack of experience is generally pretty opaque to the people who lack it.

¯\_(ツ)_/¯