Journaling is a feature used in file systems to enhance data integrity and aid in the recovery of data. By keeping a log of changes, it is possible to restore a file system to a previous state in the event of a crash or power failure. Compression is used to reduce the size of files, encryption for data security, and permissions for access control, but they are not primarily used for data recovery.