ROS2 is also not ROS. I believe they fixed some of the mistakes. I'm not sure about catkin though, it's the worst build system I've experienced. And it sure likes to integrate itself everywhere, making it really hard to move away from it.
The only big change which isn't just churn is changing the messaging system to DDS. My problems with ROS1 aren't related to the implementation details of the messaging system. It's the build system, the difficulty of adding tests, the difficulty of writing deterministic systems with their messages being inserted in the middle of everything, needing to put everything through their messages, and in the end the fact that I can't use ROS for a system and non-ROS for another system and have them work together nicely.