Why are Christmas markets so popular in Germany?

Germans love Christmas markets because they are a lot of fun. They are a great way to socialize and get out of the house in the darkest time of the year.
Christmas markets start at the end of November and last until Christmas. Every small town has at least one. It's best to go there when it's cold, because everybody drinks Gluehwein (mulled wine) to warm up. You can find typical German food at these markets as well as local crafts, so you can get your Christmas shopping done.