As someone that had lived and worked in Germany for the last 6 years. My experience is solely in the software development sector.
You are almost completely on the ball. The German system reflects the concept that a happy healthy employee is a productive employee.
The job security swings both ways too. You can't just be fired and thrown out with no pay. However, you can't just leave either. You need to give a good (usually over a month) time to bring someone else up to speed with what you were doing.
About vacations though... I have never met anyone that takes an entire month of vacation. The most we take is two weeks. Though, that is probably because you want to leave vacation days to deal with appointments and family illnesses. Health insurance will cover you looking after your children if they are ill, but not your partner, as an example.