Re: I've had .....
I think the plan was for PulseAudio to handle the entire sound stack, but when they found that it was difficult, and that there were many different devices to handle, the scope was reduced, so that it's just a layer on top of ALSA, and further development seems to have stalled. One thing you can do with PulseAudio that you can't with ALSA itself is to adjust volume per process. So that if you are listening to two things at once, you can... actually, why would you do that?
I've always disliked ALSA in that it's stuck on the side of the kernel source, and the configuration syntax is obscure and illogical. However, I've learned to live with it. You can do some powerful things, such as routing or replicating audio, which you might expect to have to use another daemon to do (I mean jackd).