1. 호환성 이슈가 있습니다.
안드로이드만 사용하는 일반적인 어플은 보통 java로 개발하는게, 개발 난이도가 낮습니다.
하지만 안드로이드가 아닌 여러 플랫폼( 아이폰, window) 같은 것까지 지원하는 멀티 어플의 경우 java로 개발할 경우 동작을 보장 못하기 때문에, 공통 부분은 C로 개발하고, UI 부분만 각 플랫폼에 맞춰 구성해주는 경우가 있습니다.
뭐 일부 프로그램의 경우 UI도 C로 개발하긴 하더군요..
2. 속도 이슈가 있습니다.
java 보다 상대적으로 C쪽 소스의 동작이 빨라 속도를 중시하는 게임 같은건 C로 개발하는 경우가 많습니다.
3. 엔진 이슈가 있습니다.
게임 같은건 유니티 같은걸 주로 쓰는데, 이 경우 엔진이 지원하는 언어로 짤 수 밖에 없습니다.