For a period of about 3 weeks, I updated to the latest nightly nearly every day using CyanDelta. Sometimes I'd download the full ROM instead of using CyanDelta. During this time, I never wiped the device (aka factory reset). I just applied the new release on top of the old.
Recently, my phone's performance degraded significantly. There were long delays unlocking, long delays switching apps, long delays doing just about everything. The phone would freeze up, and the OS would ask if I wanted to end a process because it wasn't responding. My podcatcher would stutter while playing.
Instead of switching to another ROM, I decided to first do a full wipe (factory reset). I used Titanium Backup to back up my user apps and data. In TeamWin Recovery, I did a factory reset, flashed the same CM 10.1 nightly I was running previously, restored my apps using Titanium, signed into accounts, etc.
My phone's performance has been completely restored. It's like night and day.
My question is: Why did that work? What is it about applying successive ROM versions that could cause a slowdown that a wipe would fix?
I love my new level of performance, but I also enjoy keeping up with the latest releases. It would seem I can't have my jelly beans and eat them too. Now I'm reluctant to flash any updates without doing a full wipe.