O AppArmour é geralmente considerado mais simples que o SELinux. O SELinux é bastante complexo e pode ser usado mesmo em aplicações militares, enquanto o AppArmour tende a ser mais simples. O SELinux opera no nível do nó i (ou seja, as restrições são aplicadas da mesma maneira que as permissões ACL ou UNIX - por outro lado), enquanto o AppArmour se aplica no nível do caminho (ou seja, você especifica o acesso com base no caminho, portanto, quando o caminho muda, pode não ser aplicável ) O AppArmour também pode proteger subprocessos (apenas mod_php), mas, de alguma forma, sou cético em relação ao uso real dele. O AppArmour parece encontrar o caminho para o kernel da linha principal (ele está em -mm IIRC).
Não sei muito sobre o SMACK, mas parece que o SELinux simplificado da descrição. Há também o RSBAC, se você quiser dar uma olhada.
O chroot tem um escopo de uso limitado e não acho que seria muito útil em um ambiente de desktop (ele pode ser usado para separar daemons do acesso de todo o sistema - como o daemon DNS).
Certamente, vale a pena aplicar o fortalecimento 'genérico', como PaX, -fstack-protetor etc. Chroot que você pode usar quando sua distro suportar, assim como o AppArmour / SELinux. Eu acho que o SELinux é mais adequado para áreas de alta segurança (ele tem um controle muito melhor sobre o sistema) e o AppArmour é melhor para o fortalecimento simples.
Em geral, eu não me incomodaria muito em proteger a área de trabalho genérica, exceto desligar serviços não utilizados, atualizar regularmente etc., a menos que você trabalhe em uma área altamente segura. Se você quiser proteger de qualquer maneira, eu usaria o que sua distribuição está apoiando. Muitos deles, para serem eficazes, precisam do suporte do aplicativo (para ferramentas de compilação ex para oferecer suporte a atributos, regras escritas), por isso aconselho a usar o que sua distribuição está suportando.