Automatically add Tasks based on multiple variables

Want to see how can either create projects with tasks that are auto populated based on a few categories. I am not sure if template or rules are the way to go.

For our projects 80% of the tasks are the same for all projects however the remaining 20% of the tasks will depend on a few variables (i.e. Client type (old or new), project type (build or update) etc.) We will have about 3-4 variables to set and based on the variable select they will have certain tasks associated which should be added to the project. How can I do something like this?