I've used some things in boost.. such as regex, graph, smart_ptr, and serialization. Most of their libraries are straightforward and easy to use.
However, there are some that are just absolute abuses of C++ and templates in particular (IMHO).. And others can be notoriously complex, like the boost:graph library, for which there is actually a
300+ page book + CD-ROM on how to use it.
Properly used, I don't have anything against boost. However, as with any libraries/classes, use it wisely. I was recently on a development team who would use boost objects for
everything they could. One component they wrote was a dataset class which functioned like a virtual table. During system tests they found that to populate the dataset with 100 fields and 50000 rows would take 40 seconds, and sucked up 50MB of RAM so they called me to take a look at it. Boost EVERYWHERE. As a proof of concept, I re-wrote the class in 4 hours to use simple stl lists/vectors and other basic classes, while maintaining the same functionality and interface. The difference? The test ran in under a second and used less than 5MB of memory.
I realize this is an extreme case, but after seeing how some people abuse 3rd-party libraries claiming it will "solve all their problems" really makes me consider them a last resort.
This is just my opinion.. using good quality 3rd-party libraries rather than reinventing the wheel is generally a good thing. Just be sure to use them wisely.