Hi Ravi,
The documentation on eventSource indicates that this is used when there are related documents and it listens for events on those documents. So it's not to be used to get other objects per se, rather it's used to listen to related objects. The relationships are things like Requisition to PO, or ContractRequest to Contract, or Invoice to InvoiceReconciliation. Again, I've never run into a scenario where I've had to use it. To get other objects, just write a regular action and use the methods available to obtain those objects.
On ContextObject EVENT_SOURCE, again I've never had to pass EVENT_SOURCE into my actions. But say you had a change on an Invoice that you wanted to trigger an event on the InvoiceReconciliation, you'd define your action trigger java implementation, then add contextObject="EVENT_SOURCE". So <action implementation="some java reference" contextObject="EVENT_SOURCE">. This changes the Action's valuesource object to that of the event source. Again, unlikely you'd need to ever do this.