Shared borrow the memory from the system memory.
Dedicated have their own memory onboard.
Dedicated are better because it takes them a lot less time to access the memory. The shared memory ones are in the Hypermemory and Turbocache classes, for ATi and nVidia respectively.