From the example, it might be better to title this "Why group project-based learning fails."
My own education included learning fundamentals, individual projects, and group projects. I find a mix is the best. Do the fundamentals. Practice them in individual projects while also learning how to teach yourself things that weren't directly taught, which is an important skill set. Finally, practice these skills again in group projects to learn cooperation in software development and how to scale beyond single individual solutions. Source control is a skill you can learn the fundamentals and practice by yourself, but working in a group project makes some of the benefits immediately visible to many students.
You have to match the intended learning with the right environment, there is no single solution.
My own education included learning fundamentals, individual projects, and group projects. I find a mix is the best. Do the fundamentals. Practice them in individual projects while also learning how to teach yourself things that weren't directly taught, which is an important skill set. Finally, practice these skills again in group projects to learn cooperation in software development and how to scale beyond single individual solutions. Source control is a skill you can learn the fundamentals and practice by yourself, but working in a group project makes some of the benefits immediately visible to many students.
You have to match the intended learning with the right environment, there is no single solution.