I originally thought the advantage of PIC32 was the ability to handle more sophisticated RTOS, like ones that are linux based. Unfortunately it lacks a Memory Management Unit (MMU) and enough ram.
So now I'm trying to understand when would you pick a PIC32 over a dsPIC33?, aside from when you need a 32-bit processor
dsPIC seems more promising. It has a DSP engine, and the ability to have more than twice the amount PWM as pic32 (up to 14), and can come with a Quadrature Encoder.
Both architectures can come with a DMA, DAC, Digital communications (I2C, SPI, UART) and a Real-Time Clock and Calendar