Yes, the tuition fee in public universities in Germany is free. However, you will have to pay for your own fooding and lodging which will cost you around 5000-7000 Euros per year. Now, your second question “Why not many people go to Germany to study?”. In fact, lots of international students go to Germany to study but most of them study in German. Public universities(which are free) have very limited programs taught in English. You may look for universities in Germany and see what kind of programs they offer. If the programs you like is offered in English than you may plan to apply there.
The biggest disadvantage is that not many programs are offered in English. Hope that helps.