Well, first of all, the DDMDb stores events up to default 45 days. SRM, on the other hand, extends this period (I believe this defaults to 90 days), for all events that are sent over to Reporting Database.
Alarms that are displayed on the OC are those that are active at the time you are looking at the console. In the reporting database you could see also alarms that are not active at this time, but were active at some point in the past.
All alarms are stored in the SRM DB. On the other hand, not all events are sent to the both Archive Manager and Report Manager. So make a clear distinction between events and alarms.
The events are stored just for statistic analysis: most common events that show up, devices with most events and so on. Traditionally events are purged from the SRM, due to increased storage required and the low benefits of reports.
The alarms have different actions that are followed on the SRM: acknowledgement, assignment, ticket creation, clearing, time active. Alarms and their corresponding action history are not purged ever from the SRM, unless the use chose to re-initialize the database. These don't occupy that much space in the database.