“I am looking for a way to represent the CEP concept of ‘aggregate events’ or ‘complex events’ which I do not think fits this definition of ‘aggregate’, so I will refer to ‘complex events’ from now on. A complex event in this sense is the “aggregation of sets or groups of lower-level events into a single higher-level event that expresses the meaning of the lower-level events taken together” (from The Power of Events by David Luckham).” - This sounds like a projection to me : See projections series here http://docs.geteventstore.com/
“I am still really confused about how your ‘aggregate’ or ‘stream’ works. What is the relationship between events and streams? many-to-one? many-to-many?” - You would normally tend to have a stream per aggregate. So, for example, you could have a stream named Order26 which contains all the events that have occurred the relate to an instance of an order. In order to understand fully what an aggregate is, you might want to read Eric Evans Domain Driven Design book.
“Does the aggregate/stream do the job of recognising patterns? E.g. recognising when a number of atomic events on a web shop amount to a completed transaction?” - A stream just contains a sequence of events (nothing more nothing less). But from this sequence, it is possible to rebuild the state of an object such as an order. Using this technique, is generally an alternative to persisting an objects state (i.e. an order) in a relational database.
So, a typical scenario for event sourcing would be: implement a domain model in code that represents the business behavior; save events that change the state of the domain model rather than persist the state using say an ORM; from these events you can rebuild the state in your domain model; because the events contain everything that has ever occurred that affect the state of your domain, you can use these events for alternative purposes like building reporting database, performing analytics, etc.
If you take a look at one of Greg Youngs event sourcing videos, I am sure he will explain this all much clearer than I have 