Respuestas:
El beneficio principal, para la gran mayoría de los casos, es solo ahorrar espacio en disco. Un beneficio secundario, y mucho más dudoso, es que también hace que el binario sea más difícil de desmontar o realizar ingeniería inversa. También puede reducir un poco la huella de la memoria, aunque en muchos casos será un ahorro insignificante.
El mayor detrimento es que hace que la depuración sea mucho más difícil si te encuentras con un problema.
En un sistema moderno con CPU que acelera lo que son, y las cantidades de memoria / disco lo que son, quitar un binario tendrá muy poco impacto práctico en el rendimiento de ninguna manera. Realmente se trata de depuración, "limpieza" y preferencias personales. Algunas personas prefieren usar siempre binarios eliminados para la producción o software "enviado". Algunas personas prefieren dejar siempre los símbolos incluidos, "por si acaso".
Personalmente, prefiero tener símbolos incluidos. Tuve un par de situaciones realmente frustrantes durante el año en las que una aplicación comercial estaba fallando (o de lo contrario se bloqueaba) y no tenía la capacidad de determinar dónde estaba el problema, porque los binarios fueron eliminados. En al menos algunos de esos casos, el proveedor terminó enviándome una versión no despojada para ejecutar, hasta que se bloqueó nuevamente, para que pudiéramos obtener información de depuración más útil. Si hubieran proporcionado la versión sin strip al principio, podríamos haber resuelto el problema más rápido y con menos tiempo de inactividad.
puede compilar software con símbolos de depuración para probar y luego simplemente eliminarlos para su implementación. si sus símbolos de depuración exponen algo que preferiría no exponer, esto podría serle útil