Yes, the software needs to make optimum use of all available resources (both sound card and computer system) to achieve best possible latency. The best hardware is useless without well written drivers.
The latency is determined basically by the audio buffer sizes (there's two of them, one being worked off while the other one is being filled again - once used up they trade places). The bigger the buffer the higher the latency and also the better the stability. With small buffers the hardware needs to be able to very quickly fill the buffer once it empties. With bigger buffers the system has a lot more time to come around and fill the buffer again while it is doing other stuff in the meantime. If this re-fill process is not perfectly smooth the audio will break up.