They're not used for the same things einton, given price and overall complexity they will not replace micro controllers, because they are in fact NOT micro controllers =) They're DSP's. Different devices not really comparable.
**broken link removed**
May provide some insight on programming.
This is completely wrong, in the case of the dsPIC33F anyways. It is not only a uC, it's a very powerful and useful one.
The 33F calls itself a "DSP" because it uses 16 bit math, 16 bit Working Registers (at some points, 32 bit even!), a 40 bit Accumulator, "fractional" math mode, and a number of core instructions which work very well with DSP problems, in particular the FIR. EVERYTHING in the DSP core CAN be done with a PIC18F, it'll just be far less efficient and it may be impossible to meet performance goals.
The FIR for example is a repeat of a multiply 16*16, add the result to a 40 bit Accumulator, preload the next 2 arguments from file registers into Working registers, and increment those file register counters. All that's a repeat of ONE instruction on a dsPIC, and only needs
one cycle! The 18F can do this, but it might take 50 cycles, or maybe far more if written in C. If the 10 MIPs clock of an 18F won't be able to do the job with this long-code solution, then the 18F can't do the job.
None of the DSP core ops are invoked by standard C math. Any attempt to code this FIR calculation solution in C for the 33F will make a very inefficient solution which won't use the DSP core. The FIR calculator can be done by calling ASM from C (very easy!) or just using the FIR task from the language lib, that is a C task coded in ASM and prebuilt.
You can use the 33F for its low power, high speed capabilities and 16bit math/DMA/advanced peripheral features without ever using the DSP core. Also they often come with very large RAM (but, be warned, the 33F has no EEPROM). It's very capable. However, the 24F is a slightly cheaper line of the same thing without the DSP. If you don't need the DSP core, you can go 24F.