1) PowerShell es buena para una tarea relativamente pequeña y bien definida s, especialmente las tareas efímeras de un día y las tareas interactivas cuando está codificando en la línea de comando. Si una tarea requiere solo unas pocas líneas de código de PowerShell (y usted lo sabe porque conoce lo suficiente a PowerShell), entonces lanzar un proyecto completo de C# suele ser exagerado.
2) C# es mucho mejor para proyectos grandes o donde el rendimiento es crítico. Es mejor para cualquier proyecto que presumiblemente requerirá depuración y solución de problemas.
3) PowerShell y C# pueden funcionar perfectamente juntos. Es fácil llamar a uno de otro. PowerShell es bueno para conectar componentes .NET. Puede implementar sus piezas complejas y de rendimiento crítico en C# y luego combinar y pegar esas piezas con PowerShell.
Bastantes publicaciones ya en las comparaciones de los dos en SO ... –