One of the major headaches of maintaining a Joomla demo is that you have to refresh the data every now & then to restore the demo to its best as user usage can change a lot of data & interfere with the optimum demonstration of your products. We used to do this by simply having a cron job restore a backup of the database with the optimum data. But this had major issues as we had to upgrade extensions on the demo to the latest & these in some cases also involved structural database changes.