Nearly every MCU has such functionality, the difference is just whether it's completely generic (allowing any peripheral to control any other, in a predictable and easy to program way), or ad hoc mess where the designers just added connections between those peripherals where their customers most usually need them. STM32 belongs in the latter class. And sure enough, usually these "most wanted" connections do the job: for example, timer can trigger ADC, analog comparator can stop PWM cycle, timers can be chained, etc.
In the end, even if you have a completely generic event system, you still have to carefully read through the manuals (or worse, do actual tests) to figure out if the combination of peripherals can do what you need them to do, before even starting the HW design work. So for peripherals A and B to work together, you need to carefully read the specs of both A and B, meaning the ST's messy non-generic way is not actually any worse, just inelegant.
One of the worst features in ST's microcontrollers is very limited and arbitrary DMA mapping which needs careful planning before committing to PCB layout. This has been fixed in some newer generation devices (see DMAMUX).