Currently it's limiting that conditional configuration must always be associated with a variant. There's e.g. no way to have a different list of httpd.modules for the dispatcher role based on the value of another parameter like enableSsl, httpd.version or distribution. The only way to model these kinds of differences is to have a separate variant with its own configuration, so you would have to create all kinds of permutation variants like no-ssl+ssl-debian-apache22 (actually we already have no-ssl+ssl variant which illustrates the problem).
I'm not sure how to best solve this, but a few random ideas are:
Allow to define parameters conditionally based on other parameters
Have some kind of "mix-in" variant that contributes certain configuration, i.e. a variant that is not mutually exclusive with all others but adds/modifies them
Allow some inheritance between variants so that it would be easy to create combined variants like no-ssl+ssl without having to redundantly declare the configuration of the other variants.