Hola, en mi opinión personal XC8 es mejor... te dejo mis puntos de vista. Probablemente en algunos de CCS me equivoque... hace mucho que no lo uso.
XC8
+ Permite generar código portátil que podrás migrar a cualquier otro compilador de C estándar
+ Incluye todas las librerías necesarias para echar a andar cualquier periférico del micro
+ Es gratuito sin optimizaciones
- Cuesta con optimizaciones, no son tan buenas como las de CCS (punto flotante y manejo de strings mejor en CCS)
+ Cuenta con el soporte de MPLAB X para administrar los archivos de un proyecto muy fácilmente
+ Trae ejemplos probados para muchas aplicaciones (checa las Microchip Libraries for Applications), estos son algunos de USB en la v2014_07_22
[.] [..]
[audio_microphone] [audio_midi]
[bootloaders] [cdc_basic]
[cdc_serial_emulator] [composite_hid_msd]
dir.txt [hid_custom]
[hid_digitizer_multi_touch] [hid_digitizer_single_touch]
[hid_joystick] [hid_keyboard]
[hid_mouse] [hid_ups]
[msd_internal_flash] [msd_sd_card_reader]
[utilities] [vendor_basic]
[vendor_throughput_test]
CCS
- Es de pago
+ Te permite escribir código para un PIC en específico rápidamente
+ Hace uso especial de ciertos operadores en C que sólo existen en C++
+ Optimiza código muy fuertemente, en velocidad y tamaño en ROM (punto flotante y strings)
+ Trae librerías y ejemplos para todo
- Si decides moverte de familia o marca de micros hay partes de tu código que tendrás que modificar
- El nivel de optimización que tiene es tan alto que a veces atrapar un bug del compilador es difícil y te quita algo de tiempo
+ Es fácil de usar
+ Es popular, mucha gente puede ayudarte con él
No sé qué signifique comodones... imagino que algo así como "usuarios que llevan prisa". Pienso que CCS es como Arduino, te ayuda a crear muy rápidamente porque trae muchas cosas listas para usar.