...
When using a piece of software that is frequently updated with enhancements and bug fixes, as is the case of the Ushahidi platform, it is beneficial to make sure that any changes or additions you make to that software remain separate from the pieces of that software that are updated frequently. Using a Theme to alter your deployment’s default look & feel rather than editing the default code files directly allows you seamlessly keep your deployment up-to-date with the latest and greatest features and enhancements.
How can I create my own Themes?
See the Themes Developers Guide