Se eu entendi sua pergunta corretamente, você está perguntando por que um usuário svn deve ser criado para svn, e um usuário www-data criado para o apache, etc. Correto?
A razão é para segurança. O conceito básico em jogo é chamado de "isolamento" e é uma prática comum. A principal idéia básica é que, se cada serviço for executado como seu próprio usuário, se houver alguma falha ou bug de segurança descoberto no programa, a falha só será explorada na medida permitida por esse usuário.
Por exemplo, suponha que alguém tenha descoberto como invadir o SVN e excluir todos os seus arquivos. (Isso não é uma falha real de segurança, e provavelmente nunca será, mas apenas suponha, por razões de argumentação) ... Se você rodasse o serviço SVN como o usuário 'root', então este hacker teórico poderia começar a deletar todos dos seus arquivos. Se, por outro lado, o SVN exigir seu próprio usuário, esse hacker teórico só poderá excluir os arquivos pertencentes ao usuário do SVN.
Espero que isso resolva sua pergunta ... se não, por favor, esclareça, e tentarei novamente.
EDIT: Para responder ao seu comentário ...
Normalmente, é sempre possível executar qualquer programa como root. Mas geralmente é desaconselhável fazê-lo, exceto quando for realmente necessário. Uma abordagem muito comum para esse tipo de coisa é executar todos os programas com a menor quantidade de permissão necessária. Isso também pode ajudar a evitar que um bug em um programa cause inadvertidamente problemas com outros programas (outra razão para o isolamento de segurança, que eu não mencionei anteriormente).
No entanto, há momentos em que um programa deve ser executado como root, porque ele simplesmente não pode fazer o que precisa fazer de outra maneira. Algumas tarefas comuns que exigem privilégios de root e, portanto, seriam justificativas para não serem executadas como um usuário separado:
- Acessando o banco de dados de senha do sistema
- Vinculação a (escuta) de uma porta TCP privilegiada (por exemplo, portas 1-1023)
- Interagindo com o sistema de arquivos ou certos dispositivos de hardware em um nível baixo
Mesmo dentro dessas (e outras) categorias, muitas vezes há maneiras de contornar a necessidade de executar como root. Por exemplo, muitos programas de rede (Apache, por exemplo) serão iniciados como o usuário root, então ligam-se à porta 80, e então mudam os usuários para www-data para o resto de sua execução. Assim, mesmo quando há casos específicos que exigem acesso root, muitas vezes são tomadas medidas para contornar esse requisito para que o processo possa ser executado como um usuário com menos privilégios.