When you drop a component on a form, you can see in the object inspector that each component has many events. The most well known is the OnClick event for many visual components such as TButton. Everybody knows that the OnClick event is triggered when a user clicks on the visual component and everybody knows that he or she has to supply code in the corresponding event handler. This code will be executed when user clicks on the component. An event is simply something that occurs in the system, such as the user clicking on a button.
ICS components are event-driven and posess a rich set of event properties.
This means that when you request an operation, you get control back almost immediately while the operation you requested takes place in the background. When the operation is completed, an event is triggered. For example, a call to TWSocket. Connect returns almost instantaneously, long before the actual connection is established. Eventually the connection either can or can't be established.