According to me, the biggest problem with most junior developers is that they fail to understand that they are solving a specific problem with the help of technology. Some of them believe that it is the features that matter the most. They fail to think about various scenarios (beyond code) and usually just do whatever they are asked to perform. However, one should keep in mind that this is not always true. I have worked with freshers who are extremely focussed, sharp and have clarity of thought.
The next problem I see is that most juniors don't do enough due diligence while picking up a tech stack. Worse is when they want to rewrite a particular part of the project in a newer shinier technology without fully understanding the product roadmap, priorities etc.. Imho, every developer should act like a problem solver rather than a feature builder.
The third and a crucial point is that some junior devs have a tendency to think that it is ok to ship bad code now and fix them later (which never happens and as a result technical debt increases). Regardless of expertise level, one should always try to take time and push well written code so that they themselves can understand the stuff while looking at the code after months.
Lastly, it is my personal opinion and varies from person to person. I have noticed the above flaws while working with different types of developers in different projects. Also as I said above, there are excellent developers who are junior, but give their 100% in every aspect.