Network devices, such as Ethernet, USB, Firewire, 802.11 are essentially streaming meda devics, such as audio, and modem devices and commonly have embedded DMA controllers, as just discussed. For high throughput these devices should likely be bus masters or use a DMA channel.
DMA offloads work from the main processor, but, equally importantly, using DMA requires less staging RAM or data FIFO in device. In the majority of cases, RAM is the dominant cost in terms of SoC area.
Another advantage of a shared RAM pool is statistical multiplexing gain. It is well known in queueing theory that having a monolithic server performs better than having a number of smaller servers, with same total capacity, that each are dedicated to one client. If the clients all share one server and arrive more or less at random, the system can be more efficient in terms of service delay and overall buffer space needed. So it goes with RAM buffer allocation: having a central pool requires less overall RAM, to meet a statistical peak demand, than having the RAM split around the various devices.
The DMA controller in a network or streaming media device will often have the ability to follow elaborate data structures set up by the host, linking and de-linking buffer pointers from a central pool in hardware.