Titanium Backup does what you need. Seeing you want to backup for the purpose of restoration of the same android version as a reset of sorts, the instructions are pretty simple:
Upon running Titanium backup, enter its preferences and define a backup folder where Titanium will store your backups into (preferrably external sd card if you have one slotted).
Once that's done, In the Titanium main window, there's a checkbox icon on the top right, tap that and you'll see a list of "tasks" in their respective categories - (lets just say you want to save the apps you downloaded from google play together with system apps and data) - so tap on the run button next to "Backup all user apps + system data" in the "backup" category.
The next page is a conditions page where you can choose which apps you want to include/exclude from the backup procedure, and what should Titanium do if the app you're backing up is currently running/active. Set these based on personal preference (normally it defaults to all so you don't have to change anything at this point). Once you're satisfied with the conditions, simply press the green check button on the top right to begin the backup process... and all you have to do is wait until the backup procedure is complete.
From here onwards, anytime you update apps or system apps to a newer version, just use the "Backup new user+system apps & newer versions" task... titanium will check and update all backups that have been changed/updated. (you have the choice of either doing this manually or set an automated schedule for it)
To restore the apps, the procedure is the same thing as backing up steps above. Install Titanium Backup on your device - and run it. In the Titanium Backup window, go to preference and point the new backup folder to the folder in your external SD card. Once done, Press the checkbox icon again on the top right on the main window, and scroll down the list of "tasks" to the "restore" category and tap on the run button labelled "Restore missing apps + all system data"... you'll encounter a similar conditions page again (which defaults to all). All that's left to do is Press the green check icon and Titanium Backup will do the rest... once done, reboot your device (if necessary)
Note: Titanium backup defaults the backup folder to your internal USB storage. If you plan on doing a factory reset and happened to check the option of "erasing USB storage" together with factory reset, chances are your backups that are stored in there will be deleted... hence the reason to change the backup folder to the external SD card for better security.
Note2: Not all apps will have the data successfully backed up (particularly games and their save data) so those might need a little bit of advanced knowledge in backing up successfully through other means.
Note3: By consistently using Titanium to backup system apps, your issue of old data overwriting new data is solved for the same ROM... but if you change ROMs to something else or upgrading major android versions, then you need to be careful in restoring system apps.