Como já foi escrito em comentários, o runuser é basicamente um su que não usa a pilha do PAM.
Para fornecer mais detalhes, conforme a postagem no blog de Dan Walsh - um dos autores de runuser - parece que O runuser é realmente compilado a partir das fontes su, exceto com a pilha PAM excluída da compilação. A diferença é que usar o runuser ao invés do su pode prevenir alguns erros do SELinux. Esse post também diz isso:
Whenever an service is running as root and wants to change UID using the shell it should use runuser.
When you are logged in to a shell as a user and want to become root, you should use su. (Or better yet sudo)