In KRL, it's easy to create an interrupt based on Boolean algebra of almost arbitrary complexity, and can be re-programmed on the fly. In RAPID, I had to edit the EIO file to create my Boolean logic down to a single virtual input, and use that to trigger my interrupt.
(disclaimer: the last time I did interrupt handling with RAPID was ~2006, so this may have changed since then. But KRL supported this as far back as the 90s.)
Industry is inherently conservative -- any change only happens when the advantage of a new method has a major ROI. So improvement happens in small incremental steps until a big jump happens, everyone jumps on the bandwagon, then things settle down again for a while.
(you think industrial automation is bad, though? Try nuclear, or medical -- yow)
Often this happens when new technology or methods reach a point where a new entrant into the market can compete with the established interests -- see Tesla vs the Big Three.
There's also another issue: the vast majority of robot or PLC code you produce will have to be maintained, and understood, by plant-level operators who spend so little time doing code (as opposed to electrical work, mechanical maintenance, etc) that any "cutomer-facing" code must be simple, plain, and easy to understand. And easy to modify, b/c there's never going to be a system built so well that no one ever needs to touch-up a point, or modify a variable.
More recently, UR provides a Python programing interface, but it's more than a little janky, from my experience, and lacks a lot of realtime motion/signal control that the Big Iron robots have (last I tried, doing a reliable spray/dispense on a UR wasn't possible). And KUKA has the iiWA, which is programmed in Java (why Java, it sucks) and only implements the robot as a library, but again, the implementation left a lot to be desired. I've heard that the KRC5 is supposed to be available with the Sunrise/Java setup in place of VxWorks/KSS, but I've not encountered one in the wild. And given that consistency across a plant and a company is a valuable feature, and most industrial robots get used for 5-10 years before being replaced, I imagine any migration is going to take a while.