std::variant is just a discriminated union. That's useful for lots of things.
C++11 is old school at this point. Other than for legacy reasons, no one should be using the older stuff.
Many major C++ projects are using C++11, e.g. LLVM/Clang, Chromium, etc.
C++14 doesn't have many new features. C++14 contains many fixes on minor details which was implemented even in C++11 implementation because the Standard wording of C++11 is either ambiguous, impossible to implement, considered too harmful on that fixed part.
While I do try to keep up with the standard, the majority of the code I bump into, on those projects, is still the typical pre-C++98 style and most devs aren't that keen in moving forward.
Specially in projects that are mostly driven by changing consulting company every few budget rounds.
Seriously though, does anyone actually use any of the post-C++-11 stuff? I can count on one hand the times I've seen nonironic use of a C++-11 extension in a real project, and I've never seen use of -14 or -17 extensions.