This is, of course, how apps for modern operating systems are programmed: they do little or nothing until the user interacts with the UI, or data comes in from the network, say. But it’s not a common approach with embedded devices, such as Arduino.
Errrr... what is the writer of this smoking? Any vaguely sane (*) embedded developer spends their life with event driven code. Depending on the embedded system it will either have hardware support and masks for event triggers or for simpler systems the developer has to implement everything in an execution loop but it's still event driven. Or does the writer think that having events built into a high level language or API makes an application event driven?
* I've seen some complete balls-ups from developers who plainly had no idea what they were doing at a low level (and often at a high level either). It was usually quicker to rip everything up and start again than attempt to step through and debug a spaghetti mess of interwoven interface and state checking code. The basic flow usually never needed to be complicated, often something like this:
1) Initialisation code
2) Check something
3) Do something depending on what happened in 2.
4) Exit code set? No, go back to 2.
5) Cleanup code [often considered optional]