Event driven programming is commonly used for GUI applications where events like button clicks or text changes trigger event handler functions. Key aspects include event handlers that contain code to execute in response to events, trigger functions that determine which handler to run, and event loops that constantly check for events. This approach provides flexibility by allowing programmers to control where code runs and what specific user actions it will respond to.