Con todos mis respetos, pero creo que hay que diferenciar entre ARM y ARM. Quiero decir que ARM cubre desde los más modestos Cortex M0, más parecidos a un ATXmega, hasta las bestias tipo Gazelle, Jade, Cortex M8, OMAP (no os fiéis mucho de las nomenclaturas de estos últimos) con Linux, soporte para gráficos, DSP, gestores de memoria SDRAM, etc.
Los más modestos son microcontroladores más del estilo de un PIC, ATmega, dsPIC, Motorolas, 8051, etc pero más potentes (32bits, 100MHz), mientras que los últimos son más bien procesadores de ordenador, al estilo Pentium, y que se usan para teléfonos móviles, ordenadores SBC, decodificadores de vídeo, servidores WEB embebidos, etc (mirad la beagleboard, por ejemplo).
La gran ventaja de los ARM es que todos los fabricantes tienen, menos Microchip. Incluso Intel y Freescale. Eso significa que si uno no tiene lo que buscas, lo puedes encontrar en otro. Y por eso, hay una varidedad infinitamente grande y económica. No en vano, más de la mitad de los microcontroladores y microprocesadores que se fabrican en el mundo anualmente son ARM en alguna de sus variantes.
Los PIC de 32 sin embargo son más limitados en cuanto a variedad, que no en prestaciones. Y las herramientas de desarrollo son más caras. Lo normal si tenemos en cuenta que los ARM tienen GCC gratuito con unos resultados tan buenos como los de los mejores compiladores. Y los JTAG de depuración pueden salir por menos de 3€.
Por su contra, dos 'problemas': SMD (cosa que se puede esquivar comprando break out boards o placas de desarrollo, por ejemplo de Olimex), y que son de todo menos sencillos.
Los sistemas operativos tipo Linux sólo son soportados por los ARM más potentes y complejos, mientras que los menos potentes, como por ejemplo el STM32, o los AT91SAM7, o los LPC1111, LPC2103, etc. suelen programarse como se hace con los PIC y los AVR, quizás con ciertos sistemas operativos más particulares, como son los CooCox, FreeRTOS, Worx, o similares, que no tienen casi nada que ver con el Linux.
Los periféricos también son más complejos, con más tipos variados y más prestaciones. ADC's de 12bits a 1-2MSPS, DMA, DACs, ethernet, SDIO, etc.
Por cierto, los 8051 no sólo dan guerra, si no que los hay con mejores prestaciones que muchos PIC y AVR's: 100MHz, ethernet, servidor web HW incluido, I2C, SPI, etc. Y desde 'tiempos inmemoriales'. De hecho, los 80552 y similares son bastante superiores en cuanto a periféricos a los PIC 12f y 16f, ATTiny, y algunos ATmega. Y si no me falla la memoria, no llevan la memoria RAM paginada.
Hasta los mismos 8051, PIC, AVR y similares de 8 bit también llevan Pipeline, igual que los ARM. Quizás en cuanto a arquitectura, la mayor diferencia respecto de los 8 bits, con la excepción de los AVR (con 32), sea que llevan varios acumuladores (16 mas los shados) en lugar de uno sólo.