I am saying both have their places, some apps would be a way over kill to implement event based system instead of simple crud. I found it out first hand in redux. When I had to first define an event, define a listener, define event trigger function... 3x boilerplate already, then find special tooling to keep track and debug of N^n events firing, then literally read every event listener code to figure total sequence of events occurring if user clicks something vs sequential code in the same file. I found redux wasn't worth it. Pub/sub systems have a place but it's not where MVC model fits.
The tooling has improved immensely. Unify (https://unifyjs.io/docs) aims to be a complete state management solution, avoiding the need for client side state management frameworks like redux. It abstracts away all of that boilerplate code.
Thinking about systems in terms of events is a pretty big shift in thinking but worth learning to add to the tool kit!