It is less powerful than CMake and has a relatively steep learning curve due to poor documentation. But once you get the hang of it, it's actually pretty straight forward with just a few pitfalls here and there. You simply have to accept that certain things are not possible... but chances are, these things can't even be done easily in CMake either.
Have to say I agree. Anyone who wants to use a different language should really look at a different build system. It would about the same amount of pain.
If anything is holding back CMake, it's the strongly typed core.
Nevertheless, CMake is simple. There currently nothing convincingly better for the general case.
If that was the case, Gradle wouldn’t move from Groovy to Kotlin.