From one of my earlier answers:
Older version of an app might not recognize the data created by the newer version of the same app. Although user apps are rarely affected, crucial system apps might be, and on error might constantly throw "*** has stopped" dialogs that effectively prevents you from using the phone.
Also, some newer ROMs have alerts in their updater-script
that detect different /data
formats and, if detected, throw error about it, and will not proceed unless you perform a wipe.