General Overview
EU-Nationals
EU nationals do not require a visa to enter the Federal Republic of Germany.
Non-EU nationals
Generally speaking, all other foreigners require a visa for stays in Germany, although many nationalities get an ad-hoc visa at immigration.
Table of countries whose citizens require/do not require visas to enter Germany can be found here.
Germany is part of the European Schengen Convention so in case you need a Visa you need to apply for a Schengen Visa. Please find details at the official site of the Federal Foreign Office of the Republic of Germany here.