As a complement to the most voted answer that already says that the problem is complicated. I will try to give a "simplificatory" answer.
The question is based on a misleading image of Latin dominating other languages with which it competed.
A few facts need to be pointed out:
Like Summerian, Assirian, Ancient Egyptian, Ancient Chinese, and Classical Greek, Latin is not simply the language of some people that happened to conquer an empire, but it is the main tool or part of that very centralized state, and of its administration.
Outside the Greek speaking world, in pre-Roman Europe there was never a long-lasting well-established statehood which would have triggered the need for a central administration ruled by a common language (with maybe one exception, the Etruscans.)
Latin was a language of political intrigue, army and (high, literate) culture. As such, Latin was not in competition with local, tribal, vernacular languages, which sometimes survived all over the former territory of the empire until the 20th century, in most cases (with the exception of Celtic, Basque and Albanian) mutating in local vernacular forms of Romance idioms that are the real ancestors of the present Romance languages. Those are not the direct descendants of the language of Cicero, but of local popular and different forms of Latin.
As a language of administration etc Latin was not rivaled by the languages that it has "replaced": that kind of administration, including language-administration, was simply absent there before the Roman conquest. In a sense there was nothing to replace, and what was there was not really replaced, but only transformed. In areas where other languages were already operating at a higher level, like Greek and Aramaic, these were NOT replaced, or they were replaced only partially. (The only cases that come to mind of a high-status language replaced by Latin are Etruscan and Carthaginian.)
The vernacular languages were not in fact languages in the sense Latin was. They were not written, not standardized, not supported by a strong self-perpetuating administration. Ideas like that of a Celtic language common to all Celts, or just to Gauls, is just a vague hypothesis with no real factual base. The same is true for various other cases, like the Macedonian, Thracian, Dacian, Illyrian. Only in such areas where we have little to no knowledge of the pre-Roman language are we tempted to hypothesize a local standardized language on relative large territories: where we really have some knowledge of ancient linguistic areas, like in Italy and Germany, we see an enormous diversity. Latin was the language of a very small part of Italy. It took the whole might of the Roman arms to impose Latin as the Language of Italy. The fact that to this day there are a lot of Italian vernacular idioms (and there were many more 100 years ago!) shows the limit to that standardization even there. (The same is true for France and Spain.)
Nobody imagines a common language to Italy before the Roman conquest. But (more or less nationalist) historians argue about one common language of the Dacians, one of the Thracians, of Moesians, of Illyrians, and about whether they were the same or related, or not. Probably none of those peoples, albeit related, had ONE common language, until the Romans came.
Roman conquest provided Latin as a common language in a sea of local idioms, just like Aramaic was the language of the Achaemenid Empire (and Koine Greek after Alexander of Macedon). Latin has not resulted in local vernacular Romance languages in areas where the need for a such lingua franca was already provided for. (A such scenario may bring light on obscure problems of language history like that of how was Dacia romanized in just 170 years. French and British colonization of Africa was shorter but people there have adopted those languages for the simple reason that these were useful as a lingua franca. Swahili plays a similar role in parts of Africa. And another similar example is Arabic.)
As for why the Germanic and other invaders did not replace Roman idioms, the answer is that they DID as much as they could. That is, especially, when they had one unified, known by all language to impose. Many invaders were unions of different tribes of various origins and sometimes they spoke some type of vulgar Latin in order to understand each other and especially to be able to be understood by the people they had just conquered. Language was a practical matter for them, not a matter of prestige. And, as far as prestige is concerned, Latin had no rival excepting Greek. Maybe sheer numbers could have tipped the balance the other way: but in most cases the invaders were in minority and adopted the language of the conquered peoples. — A case where "Barbarians" had the numbers on their side would be the Slavs. They have flooded the eastern part of the empire (beside the rest of Eastern Europe) and became the majority in areas that they didn't even controlled politically. When the Turkic Bulgars conquered them and created a big empire in the Balkans, they adopted Slavic in a relatively short time, which means that Slavic-speakers might have dominated numerically future Bulgaria. (In fact things were even more complex: Wikipedia states that "The South Slavic group, despite sharing a common language, is separated and has a largely different genetic past from their northern linguistic relatives. Therefore, for the Bulgarians and most other South Slavs the most plausible explanation would be that their most sizable genetic components were inherited from indigenous Balkan pre-Slavic and pre-Bulgar population." In that scenario South-Slavic became the language of the first Bulgar empire because it offered a common language to its new and older populations that before spoke different languages: Latin, Greek, Thracian, Turcik. It is also interesting that "Despite various invasions of Altaic-speaking peoples in Europe, no significant impact from such Asian descent is recorded throughout southern and central Europe".)
There were big differences between various areas of the former Roman empire: some areas were populated by peoples that already spoke a Romance idiom, some were not; some of the previous residents were more numerous than the invaders, some were not; some territories lost any previous centralized administration, others did not, or did to a lesser extent. The Latin-speaking Catholic Church administration, and the Greek-speaking Byzantine administration were big players in perpetuating central administration, but population numbers must have played the biggest role as far as local, vernacular languages are concerned. (And some of these idioms, depending on historical accidents that placed the main centers of power and culture in one country's linguistic area rather than in another, are the base for modern Romance languages — Parisian French for France, Tuscan-Florentine for Italy, Castilian for Spain —, not classical Latin.) Depending on these factors Germanic languages conquered the British Isles, Slavic languages spread in the Balkans, Hungarians imposed Hungarian to Pannonia, but Italy, Iberia, Gauls and (as surely but more mysteriously) Dacia ended up with idioms of Latin ancestry, which, on the other hand, are all different, and heavily influenced by the languages of the "Barbarians" (of those that preceded the Roman conquest as well as of those that followed it).
This answer is inspired by an idea (applied to Dacians) presented in a book by Dan Alexe — a book that I guess is only available in Romanian: "Dacopatia şi alte rătăciri româneşti" (Dacopathy and other Romanian delusions).