Para este tema que preguntas no hay una respuesta válida, puesto que cada persona lo ve de una manera diferente. Prueba de ello es la multitud de debates que se han abierto en el foro acerca de la conveniencia de tal o cual lenguaje.
Mi opinión es que las principales ventajas de usar C (o cualquier otro lenguaje de alto nivel) frente a ASM son:
- tiempo de desarrollo mucho más corto
- más fácil de aprender a usar
- casi portable entre distintas tecnologías
- si necesitas un trozo ASM puedes incluirlo como parte de tu programa en C
Los inconvenientes:
- los programas en C ocupan más al estar menos optimizados
- por la misma razón son más lentos
Ni que decir tiene que por norma general tendrás más que suficiente con un lenguaje de alto nivel para hacer casi todo lo que quieras. Digo "casi" porque es cierto que algunas aplicaciones que deben ejecutarse muy rápido, en las que los ciclos de reloj se convierten en algo crítico, no pueden desarrollarse más que en ASM.