Examples of poor decisions? I am just interested.
- custom build tooling based on cmake is super cumbersome and buggy, and it means that you simply cannot communicate with ROS based stuff, without yourself becoming a ROS module that uses that custom build tooling
- there is no QOS, messages are retained somewhat due to the topic semantic, but you can't tune retention parameters or resends
Please also consider, that this is related mostly to ROS1.