Eigentlich beschreibt der Absatz doch recht gut, wozu das alles da ist und zeigt einige Möglichkeiten auf.
Wo genau verstehst Du denn Dinge nicht?
Einige wichtige Themen, die hier nicht genannt sind, wären noch:
Im großen und ganzen kannst Du Dir als Kernstück der LLVM eine "neutrale" Sprache vorstellen. Jede Programmiersprache kann in diese übersetzt werden (Frontend, wie z.B. clang). Die Ausführung oder Erzeugung von lauffähigem Code passiert dann durch die LLVM. Letztlich ähnelt dass dem Ansatz, den die JVM Anfang der 90er Jahre etabliert hat: Anstelle für populäre Sprachen verschiedene Compiler schreiben zu müssen, schreibt man nur einen und baut stattdessen verschiedene Interpreter für die verschiedenen Plattformen. Optimierungen z.B. sind ja oftmals stark von der Prozessorarchitektur abhängig; hat man eine neue Optimierung gefunden, profitieren alle Sprachen davon, die sich in die LLVM Zwischensprache übersetzen lassen.
Weitere Vorteile sind z.B., dass der Sprachendesigner sich auf die Sprache an sich konzentrieren kann, Leute mit Begeisterung für den Kontext Compilerbau sich auf Optimierungsmöglichkeiten bei der Ausführung oder Codeerzeugung aus der Zwischensprache. Hinzu kommen noch Metainformationen der Ursprungssprache, die dafür genutzt werden können, semantische Analysen zu machen, etwa für oben erwähnte Dinge oder auch (sehr modern) statische Codenanalyse oder property based testing.
Ist Dir Vala vertraut? Diese Sprache wird (analog zu anderen, bereits früher benutzten Ansätzen; gerne auch bei den sogenannten esoterischen Programmiersprachen) einfach in C Code kompiliert. Da es für C eine riesige Auswahl an Compilern gibt, die unterschiedlichste Plattformen abdecken, kannst Du also mittels Vala für alle möglichen Systeme Code schreiben. Hätte man so etwas aus dem Boden stampfen wollen, wäre man sicherlich niemals so weit gekommen bzw. letztlich gescheitert, wenn man sich den Markt für Vala anguckt.
Ähnliches ist in den letzten Jahren auch im JavaScript-Umfeld zu beobachten: Neben anfänglich zu JavaScript ähnlichen Sprachen (CoffeeScript etwa) gesellen sich immer mehr Sprachen, die sich nach JS kompilieren lassen und somit im Browser ausführbar werden, etwa Clojure oder Scala als prominente Vertreter, oder natürlich auch Java wie etwa bei GWT.
Als Fan von funktionaler Programmierung muss ich natürlich auch Frege anbringen, welches nach Java kompiliert. Das erleichtert die Interoperabilität mit Java (Du musst Deinem Chef sogar theoretisch gar nicht sagen, dass Du etwas in Frege gemacht hast 😈 ), birgt aber natürlich auch gewisse Nachteile in sich, würde man stattdessen direkt in Java Bytecode übersetzen.
Das LLVM Projekt ist iirc aus der Forschung heraus entwickelt bzw. initiiert worden, um einfach eine gute Plattform für Forschung und Experimente in Sachen Compilerbau zu haben. Daraus hat sich einfach enorm viel entwickelt. Im Gegensatz zu existierenden Lösungen a la JVM oder CLR war die von Anfang an konsequent betriebene Quelloffenheit sicher ein Motivator, zudem sicherlich auch besondere Anforderungen.