The fact is that the school is divided very early in way where you are going to college and others where you'll just learn a more simple job (mechanics, cook...). So at a young age, teachers decide where you are going to go. Studies show that this is very dependant on the social class of your parents. Teacher almost never send a surgeon's son to a no-college school. So social mobility is prevented that way, instead of letting the children decide when they are around 18 and more aware of their own capacities and wishes. Having your life determined at 10 is quite harsh.
Then, there is the fact that school is over at around 2PM, letting the afternoon to either slack off or learn piano and classical dance, and do homework. That works only well for families which are well educated, poor and immigrant families don't really know what to begin with.
It highly depends in which state (Bundesland) you live. The most states have don't have those fees anymore, only 3 of 16 states have them as far as I know. The height of those fees is about 500 € per half-year.
Independent to those fees (which are called Studiengebühr) there are other fees which have to be paid in all universities: It is called "Semesterbeitrag" and is about 150 € per half-year (average guessed on my experience ;-) ). It is used to pay public-transport and such stuff.