The best reference on this topic is in the book 'Inside IOS Software Architecture, ISBN 1-57870-181-3. It will explain the purpose of the various buffer pools.
That said, tuning buffers is almost never necessary. Needing to tune buffers is usually a symptom of some other problem you need to fix. It's my understanding (I wasn't personally there) that one of the authors of the above book gave a presentation at Networkers this year and basically stated that the only reason you should ever have to mess with buffer settings is if you're doing legacy IBM stuff.