How and why to create -dbg, -dev, -doc packages?

view story

http://askubuntu.com – I'm writing an Ubuntu package for a package which essentially provides a number of libraries and headers which then be used to build other software. The package also breaks up in smaller subpackages which are interdependent; in this sense the package is quite similar to boost. I noticed that packages like boost provide [...] libboost-dbg libboost-dev libboost-doc [...] libboost-all-dev [...] but nothing that goes by the name boost or libboost. What is the idea behind this? What are the purposes of the -dbg, -dev, and -doc packages? Are there any instructions provided on how to write buil (HowTos)