As a Joomla! site loads a page, it steps through a series of events as part of that process. The events it steps through are determined by the type of page it is loading. Plugins are always tied to one or more of these events, and are executed during those events as required.
When loading a page of content, for example, we would step through a mix of the system and some of the content events. When loading the same page for editing, we will step through the system events, different content events, and also possibly editor events.
The events triggered in Joomla! are:
Authentication
onAuthenticate
Content
onPrepareContent
onAfterDisplayTitle
onBeforeDisplayContent
onBeforeContentSave
onAfterContentSave
Editors
onInit
onGetContent
onSetContent
onSave
onDisplay
onGetInsertMethod
Editors XTD (Extended)
onDisplay
Search
onSearch
onSearchAreas
System
onAfterInitialise
onAfterRoute
onAfterDispatch
onAfterRender
User
onLoginUser
onLoginFailure
onLogoutUser
onLogoutFailure
onBeforeStoreUser
onAfterStoreUser
onBeforeDeleteUser...