The clangd extension is much better for me, assuming that you have or are able to generate a compile_commands.json (at least easy in cmake) and point clangd to it.
There are generators for the compilation databases that work with Makefiles and other build systems, like Bear: https://github.com/rizsotto/Bear
Came here to suggest Bear as well, very handy piece of software to generate the compilation database in a mostly tool-agnostic way.
I agree VS Code + clangd is probably the best C++ development experience I ever had.
How does it stack up vs. CLion?
It doesn't, CLion is way better.
What does it do better?
One problem I always had with VSCode, is that it seems to fill up its autocomplete suggestions with "near-string-matches" from files all over the project. The jetbrains tools are quite strict in that regard and won't propose random string matches that don't fit semantically.
That doesn't sound right. clangd should (and does) only suggest semantically valid suggestions. It's also much faster than the CLion's own C++ engine, though that might change with CLion Nova.
I used CLion before I switched to clangd + vscode and it was orders of magnitude slower.
CLion was what I used before and it was way clunkier than VSCode with clangd. Complicated libraries like CGAL just weren't usable for auto-complete, but were instant with clangd.
I recently tried clangd with nvim and it was so good