Primary advantage is that CPU never stops executing its programs and DMA transfer is free in terms of time.
Disadvantage is that the hardware needed to determine when the CPU is not using the system buses can be quite complex and relatively expensive.
Advantages of DMA
Computer system performance is improved by direct transfer of data between memory and I/O devices, bypassing the CPU. CPU is free to perform operations that do not use system buses.
Disadvantages of DMA
In case of Burst Mode data transfer, the CPU is rendered inactive for relatively long periods of time.