Best time to visit is between May-Sept. Worst would be Nov-March. Short daylight hours, cold and grey, but snow helps the ambience and Christmas fairs in December are light and lively, especially in Munich, Berlin, Heidelberg, Lubek and Munster.
Minimum worthwhile stay is in Berlin for a wild weekend but 2 weeks to have a reasonable look at this huge country. It may be surprising how many Germans speak no English. Outside sophisticated towns eating often means meat and two veg, filling but not thrilling.
Hotels are plentiful and not necessarily pricey. Guesthouses and pension are also common and even better value. The only problem - apart from festival time when you should book way ahead - is in the east where you might have to take a room in a private house.
Campsites are always well set-up but popular in the summer so plan to check in early in the afternoon.