All responses are true from my experiences.
In most cases it is the media, and the second biggest cause is old drivers from Packet Writing software. Such as DirectCD, PacketCD, DLA, FileCD, and Even InCD drivers left behind on the system can cause this. This is normally true if the write speeds are limited to 2x, 4x 10x, 12x, or 16x.
But DMA not being enabled does affect the systems performance, and with some recorders if they do not have DMA enabled then they drop down to slower write speeds when tested by software such as Nero.
And last is Firmware for the Recorder. The media may support the higher write speeds, but the Recorder has information about media in it's firmware, so that it can use the optimum read and write stratigies for the various brands of media. When its unable to determine a brand, it will use a Generie Read/Write formula. An upgrade to the firmware on the recorder can resolve this issue.