You should definetly consider conditional workflows. I have also the need of this. We are a small company and we will have it mostly for analysis purposes. We want to use the product to analyse, measure and improve the processes. The only way doing that is to use conditional workflows. Here come some samples:
1. How much time did the incident spend between each step. Update the specified step begin and end datetime field. Used to focus our attention on a specifik step and improve it.
2. How many incidents are reported as bugs by the support team and they are actually rejected because they are not. Update a rejected custom field when the developer reject the item as bug. Can be used to find the reasons of this behavior.
Etc.
Basicly, when one or several fields meet some conditions then update another set of fields with predefined values. Filters for conditions and one set of Actions for each filter will do it.