Puedes usar ambas, pero, si no me equivoco, math.h se definió para C, ya que en esa época se trabajaba con enteros, mientras que cmath es una versión avanzada de math.h para c++, que integra los decimales. En principio son iguales pero cmath debería de tener más cosas y estas más optimizada.
Answers & Comments
Si te hubieras molestado en buscarlo en Google habrías descubierto que es lo mismo.
Me ha costado unos cinco segundos encontrarlo:
https://en.wikipedia.org/wiki/C_mathematical_funct...
Puedes usar ambas, pero, si no me equivoco, math.h se definió para C, ya que en esa época se trabajaba con enteros, mientras que cmath es una versión avanzada de math.h para c++, que integra los decimales. En principio son iguales pero cmath debería de tener más cosas y estas más optimizada.