Os perfis de instalação do Drupal (no Drupal 7) são bastante poderosos e podem fazer praticamente qualquer coisa que um módulo possa fazer. Estou usando um perfil de instalação junto com os recursos para desenvolver meu site, mantendo tudo em código para que eu não precise fazer a versão do meu banco de dados.
Dado o poder dos perfis de instalação, muitas das coisas que você pode fazer em um módulo de recursos também podem ser feitas em um perfil de instalação. Por exemplo, criando tipos de conteúdo, configurando permissões etc. Como você deve decidir se algo pertence a um perfil de instalação ou a um módulo de recursos ao usar um fluxo de trabalho de desenvolvimento orientado a código no Drupal?