Its only major fault was that it was one-process-at-a-time but that would have - IMO - been pretty easy to fix. But instead they came up with the non portable (to other versions of unix) dogs dinner called ALSA. Christ, trying to program with that API is like trying to cycle with your legs tied around your head. It works - just - but it could have been made a LOT simpler.
Personally I think X windows should manage sounds as well as video allowing networked sound apps and there should be just a single sound API across all versions of unix.