If I had to guess, then I would say in grade school it is to teach social skills to children. Not really a bad idea.
In my engineering courses it was for four reasons (that I can discern):
1. Engineers don't like talking to other people, but will have to anyway at their job.
2. In the professional world if only one person designs something, there is probably something seriously flawed with it.
3. Communicating in a group increases total knowledge. Often my group members would point something out I missed in the lecture, because I was too busy daydreaming about guns.
4. Engineers suck at communicating, and working in a group kind of helps.
I hated the group thing for a long time, but towards the end of my college career the people who didn't work had been either reformed by failure, or weeded out entirely. I started to appreciate it more then.