Site properties can be used to hold information that is available across the module. Site properties are meant to hold configurable information that would be updated by an operations person in Service Center. Site properties are loaded by the server and then cached for faster access. Site properties are allowed to be updated programmatically, but these types of updates should be done rarely - they should not be seen as a “global variable” to store information that changes frequently.
Examples of bad usage of site properties, are for example holding the timestamp of the last sync, or a counter for processed elements.
Updating site properties invalidates the cache and requires the properties to be reloaded from the database causing unnecessary database overhead for all parts of the application using Site variables.
Place non-configuration information that needs to be changed in a specific database table. This way the data can be updated without invalidating the cache and degrading the performance of the app.