It's hard to compete with Open Source Libre libraries and lower C++ interest in new developers, not to mention developing in C++ is harder than many other languages.
My employer still struggles to this day finding good recent grads remotely interested in C++. In contrast, Java and Javascript skills are easy to find in the market.
Google and Facebook -- two of the biggest software companies are incredibly C++ focused -- especially in backend/infra. To a lesser extent Microsoft and Amazon are the same. And as others mentioned, trading farms love C++ too.
Essentially, in 2020, the highest paying software companies in the world all are heavily invested in modern C++. Knowing modern C++ is the biggest advantage you can have in the market. But you won't know that from reading the HN comments section.
They can afford to demand competence, and they need it. But they don't always get it.
They are the reason it can be hard to hire qualified C++ programmers elsewhere. You compete for the rest who find Wall Street and monopolists both morally repugnant.
I would say programming is really difficult and it is hard to find competent(pick an arbitrary line in the sand) for any skill let alone programming. Pick a field, and the web is stuffed full of people with battle stories of cleaning up after other people. This is actually a point or two against C++ as the breadth of it is so large. The trick, as in any practice, is to find motivated people willing to learn that are not stubborn in their set ways.
c++ are heavily used when a company need to push out more performance out of hardware through software, rather than just buying more hardware. When ever I hear someone wanting to get into game development I mention c++ as the standard language for that, but naturally there are many other places where performance in software can have a large impact on revenue or in reducing costs.
C++ people don't do CRUD webshit. C++ is for compilers, HFT, machine learning, browsers, search engines, robotics. When C++ touches "the web" it's in the form of something like Envoy or HAProxy, not exactly application layer. For CRUD webshit, there are literally hundreds of options out there that largely automate the entire process (Rails/Django/Spring). There is no reason to use C++ for it not just because of the timesink but because the lack of safety makes it an aggressively bad idea. You would get all kinds of "I thought that wasn't a problem in the 21st century anymore" type of problems.
People do need to write UIs in C++ though (sometimes as frontends for some of the purposes you mentioned), and Qt is probably the most used UI toolkit for C++.
Wt is basically Qt for the web. I've used a lot of UI toolkits across many languages, and Qt with modern-ish C++ is fairly productive, doubly so if you're slapping something together for an existing C++ codebase you have.
This is the exact use-case where I've used Wt. Existing C++ codebase, needs an admin interface, needs to be accessible over the corporate intranet. Wt is perfect for that.
I've written several applications using this approach lately, administrative systems.
None in C++ yet, but Java & Go.
Integrating the UI tightly with the backend has a lot of advantages and I strongly prefer working in a sane language to both template engines and JSON APIs.
You are better served using D and Vibe.d or other D web frameworks if you really want a compiled web stack. Also the other obvious choice is Go and probably Rust but I havent found a web framework for Rust that doesnt annoy me to no end yet.
My employer still struggles to this day finding good recent grads remotely interested in C++. In contrast, Java and Javascript skills are easy to find in the market.
Edit: Added "Libre"