Currently, JIRA only stores attachments on the file system. This creates an issue with backup and recovery. While both can be backed up using whatever means determined by the user, the back up for the file system is only good at the point when the backup occurs. Since it is next to impossible to match the database and file system backups up, restoration can be miss matched. This is especially true when the database exists on a separate server as is the case in most larger environments. If the attachments could be stored in the database, the inconsistencies exist in the file system/database backups would not exist.
The other positive to storing the attachments in the database is the database can be restored to any given point in time. Since Jira is very dynamic and data is constantly changing and/or being added, this capability minimizes data loss.