C# 14 extension members are useful, but they are also the sort of feature that needs taste. They can make code nicer to read. They can also make an API feel like it has secret doors everywhere.
The Microsoft docs for what is new in C# 14 describe extension members as a broader syntax for declaring extension properties and extension methods, including members that appear as static members of the extended type. That is powerful because it removes some of the helper-class noise that builds up around common types.
The danger is discoverability. Extension methods were already easy to overuse. Extension properties and static extension members raise the same question: when I read this type, where does this member actually come from? If the answer is “from whatever namespace happened to be imported,” the code can get clever quickly.
I would use extension members for stable, obvious vocabulary around types your team already treats as domain concepts. I would not use them to hide business rules or make unrelated APIs look native. The best version of this feature removes friction. The worst version turns ordinary code reading into a hunt.
