I've actually had an opportunity to think about this problem recently. In my case I decided to store the individual events because we would never have that many (< 1000 total events/year), and we wanted the ability to customize the description for each of the recurring events.
Are your users going to be benign? Do you have to handle events that recur indefinitely or can you put a limit on the number of recurrences? If you can prevent abuse, I would initially go with storing it. Save a "recurrence group id" with each event so you can get at all of the other events in the same sequence.
It will certainly be the easier route. You can always make it more sophisticated later.