It is just like Reflection. Usual business logic should not use it, but all complex libraries (ORM, MVC, Dependency Injection) use Reflection and won't be ergonomic without it.
Same way, the jsx is advanced API. You will have complex logic, when you are authoring super reusable components for a variety of use cases. And jsx helps you in making it possible.
While allows you to use simpler approach for rest of the codebase