The reason why experience is so important in software engineering is because you learn so much on a project, much more than you can learn from studying. You find out how you engage projects, logical challenges, compiletime challenges, runtime challenges, which errors you are prone to making and how to find these errors.
The thing about experience is that it helps you to know yourself and this is important because regardless of what you know, if you don't know your behavior and personality on a project it's not likely to go well.
The way experienced people go about engaging challenges is vastly different from the way junior software engineers go about it. It's quite common to see senior devs take time to plan their method of approach on a piece of paper or to draw things way before they begin coding. Junior devs tend to skip straight to coding with the hopes that their ideas will become clear as they move along.