I’m not an expert on plugins and system events, but I think most of the ones Sottwell has listed are available as variables without the $e->param[]. When the system even is fired (with $modx->invokeEvent(’eventName’, (array) $params) ), additional parameters can be sent which will only be available via the $e->param[] array.
If you want to develop plugins, a good editor that includes a "search in files" option that will search all the .php files in MODx is really handy.
A search for "invokeEvent(’OnWebPagePrerender" will show you the params that are being sent to that event:
$modx->invokeEvent("OnBeforeDocFormSave", array (
"mode" => "new",
"id" => $id
));
Also, the System Event section of the Wiki (
http://wiki.modxcms.com/index.php/System_Events) can be found easily by Googling: MODx System Events. Most of the available variables are documented there. It also lists the source files for the events.