Por lo general, se cree que AppArmour es más simple que SELinux. SELinux es bastante complejo y puede usarse incluso en aplicaciones militares, mientras que AppArmour tiende a ser más simple. SELinux opera en el nivel de i-node (es decir, las restricciones se aplican de la misma manera que los permisos ACL o UNIX, por otro lado) mientras que AppArmour se aplica a nivel de ruta (es decir, usted especifica el acceso en función de la ruta, por lo que cuando la ruta cambia puede no aplicarse) ) AppArmour también puede proteger subprocesos (como mod_php solamente) pero de alguna manera soy escéptico sobre el uso real de los mismos. AppArmour parece encontrar su camino en el núcleo de la línea principal (está en -mm IIRC).
No sé mucho sobre SMACK, pero parece simplificado SELinux de la descripción. También hay RSBAC si desea verlo.
chroot tiene un alcance de uso limitado y no creo que sea muy útil en un entorno de escritorio (se puede usar para separar los demonios del acceso a todo el sistema, como el demonio DNS).
Sin duda, vale la pena aplicar un endurecimiento 'genérico' como PaX, -fstack-protector, etc. Chroot que puede usar cuando su distribución es compatible con AppArmour / SELinux. Supongo que SELinux es más adecuado para áreas de alta seguridad (tiene un control mucho mejor sobre el sistema) y AppArmour es mejor para un endurecimiento simple.
En general, no me molestaría en endurecer mucho el escritorio genérico, excepto desactivar los servicios no utilizados, actualizar regularmente, etc. a menos que trabaje en un área altamente segura. Si quieres asegurar de todos modos, usaría lo que tu distribución admite. Muchos de ellos para ser efectivos necesitan el soporte de la aplicación (por ejemplo, herramientas de compilación para admitir atributos, reglas escritas), por lo que recomendaría usar lo que su distribución admite.