One of the distinctive features of the German language is its inclination to create compound words from simple ones. English often has distinct words for things which are described by compounds in German. For example:
- Tuch cloth
- Hand hand
- Handtuch towel
Notice that "Handtuch" is a new thing that - albeit being conceivably derived from "Hand" and "Tuch" - has a meaning of its own. Also notice that german compounds - unlike english ones - never may consist of separated words. The "Danube Steamship Operating Company" mentioned above will ALWAYS be a "Donaudampfschiffahrtsgesellschaft" (btw.: we call it usually by its abbreviation DDSG) and never a "Donau Dampfschiffahrts Gesellschaft", although this is increasingly often seen already with the onslaught of anglizisms. In a lot of shopping windows you can see "Herbst Schlußverkauf" instead of "Herbstschlußverkauf". There is even a word for this type of compound-(not-)building: "Idiotenspatium" (about "morons blank"). German differentiates clearly between separate and compounded words: a "viel versprechender Politiker" (a politician promising much) and a "vielversprechender Politiker" (a [very] promising politician) are quite different things, "Haus Apotheke" is rather a dynasty named "Apotheke" whereas "Hausapotheke" is merely a "medicine chest".
In the case of "Prinz-Albert-Palais" (Prince Albert's Palace) there is a different rule at work: proper names can never be part of compounds. "Meier's law" might be "Meiersches Gesetz" or "Meiersche Regel", but not "Meiergesetz". "John Doe Street" would be "John-Doe-Straße", not "John Doe Straße"
There is, as @Shegit Brahm already said, also the rule never to make abreviations part of a compound word: "Kfz-Kennzeichen", not "Kfzkennzeichen".
Finally there are some exemptions:
if you want to put emphasis onto a certain (part of a) word you may hyphenate that part to set it visually apart from the rest: "be-greifen" puts emphasis on the "be-"
if you would end with some quite unreadable compound you can hyphenate instead of concatenate: Weltherrschafts-Tagtraum
to avoid confusion: "Musikerleben" could be "Musiker-Leben" (the way a musician lives) or the "Musik-Erleben" (the way of experiencing music) and you can hyphenate to make clear which one you mean.