You don't see a ton of indie or small to mid size development firms using boost because it's a massive and powerful wild beast that isn't easy to tame and you're basically on your own when trying to learn how to use it. The documentation is lacking in a few ways (see long version) and "the community" around the project either seems to be missing, scattered or inactive (compared to other projects).
Very Long Winded Version:
I realize there is already an accepted answer but as someone who actually uses boost in nearly every project I do, I thought I'd post an answer.
I remember when I first got poking around in boost and honestly I had no frigging idea what was happening. Boost is not very well documented at all. People might disagree with me on that I'm sure because there are tons of snippets of example code and a comments and such, but it is all very cold and vague as well as difficult to navigate.
Also it seems difficult to find any place where you feel like you've found "the community" around the project. In fact the community seems non-existent, or nomadic. Unfortunately even their mailing list has been trolled by so many leech sites that you can go down this rabbit hole always looping back around to where you started.
These two factors make learning boost a rather daunting task. Even if the technicalities of using boost aren't excessively complex, it is a massive library and staring it down when all you're armed with is a few code snippets and scattered pieces of the mailing list from the darkest corners of the internet... well you get the idea.
I got into tinkering with boost around version 1.45 and it's only now in version 1.52/1.53 that I feel comfortable enough to use it in production. There are so many things to get used to and remember, even right down to stupid little compiler flags you've got to set in order to make things compile correctly and play nice with C++11 and to use openSSL/zlib/etc with boost and so on and so forth.
However, make no mistake, once you can wield boost, you've gained a powerful weapon for rapidly simplifying and abstracting complex cross platform functionality. Just take
boost::asio for example. You can write an immensely powerful, scaleable and rock solid cross platform asynchronous web server in just a few hundred lines. I've written two servers and a client using ASIO. The servers handle literally hundreds of thousands of queries from clients daily and not once have my servers crashed or malfunctioned or lagged out serving the clients. My server is running on linux, but thanks to boost abstracting away the platform specifics of networking, I could copy the source to a windows server, compile without any changes and have my server swapped out in 2 minutes. Boost not only makes things more convenient but she's rock solid.
As others have pointed out, larger companies are usually stuck with legacy stuff or like to roll their own which I completely understand.
As for WHY I choose to use boost
I'd say I use it because as you imply in your question, it's "the" C++ library. Boost is viewed in the C++ world as the swiss army knife of things that eventually you're going to need to do. So the idea is that if there is a need, there should be a highly performant, abstracted and therefore portable version of it in boost. Big companies contribute to boost, very educated people with impressive resumes contribute and maintain it, and when the latest standard of C++ what being developed, people looked to boost to see what parts of boost should become ISO standardized C++.
So if I need to add some functionality that there is probably an existing library for, the first place I'll look is boost just because I'm pretty safe in betting that it's pretty well optimized, portable, it will be supported and maintained for a very long time and bugs will be found and dealt with very quickly. In the open source world those qualities can be difficult to come by.