Difference between packages libxml2-dev and libxml2

libxml2 contains the library itself, so to speak. libxml2-dev contains specifically the header files for C (or in this case, C++) development. This principle holds for many other packages as well. For example, libmysqlclient21 contains the MySQL command line client library. If you want to use this library in your own code, you need to install the corresponding header files from the package libmysqlclient-dev.