FMX und Java sind der eine Weg, nämlich das UI selbst zu zeichnen. (Cross-)
VCL und LCL sind der andere Weg, indem man native Controls implementiert. Beides hat Vor- und Nachteile.
Je nach Anwendungsfall kann das eine oder andere sinnvoller/wirtschaftlicher für ein Projekt sein. Mir ist vorallem wichtig, dass es tatsächlich Wahlmöglichkeiten gibt und man nicht aus Mangel an Alternativen großen Mehraufwand betreiben muss.