Eu acho que é uma maneira de fazer com que aplicativos que não o utilizam tenham um desempenho um pouco melhor. Aqui está o meu pensamento sobre isso.
Os sistemas operacionais x86 (e imagino que outros) precisam armazenar o estado da FPU na alternância de contexto. No entanto, a maioria dos sistemas operacionais apenas se preocupa em salvar / restaurar esse estado após o aplicativo tentar usar o FPU pela primeira vez.
Além disso, provavelmente há algum código básico na biblioteca matemática que definirá a FPU para um estado de base saudável quando a biblioteca for carregada.
Portanto, se você não vincular nenhum código matemático, nada disso acontecerá; portanto, o sistema operacional não precisará salvar / restaurar nenhum estado da FPU, tornando as alternâncias de contexto um pouco mais eficientes.
Apenas um palpite.
EDIT: em resposta a alguns dos comentários, a mesma premissa básica ainda se aplica a casos que não são da FPU (a premissa é que era para fazer aplicativos que não usassem libm ter um desempenho um pouco melhor).
Por exemplo, se houver uma FPU flexível que era provável nos primeiros dias de C. A separação da libm poderia impedir que muitos códigos grandes (e lentos, se usados) fossem desnecessariamente vinculados.
Além disso, se houver apenas vinculação estática disponível, um argumento semelhante se aplica para manter os tamanhos dos executáveis e diminuir o tempo de compilação.