- setting startup parameters if your service account doesn't have local sysadmin at windows level.
- granting auth at windows level ( e.g. to push backup files to a safe zone )
- are you using SMO to configure sqlserver things ?
- No, no need. I use sqlserver (SSMS/T-SQL) to configure sqlserver things
Of course you can do it all manually, time and again.
You are correct, xp_cmdshell can take you a long way.
Powershell only provides the means to hook up to more than just what's available in DOS (xp_cmdshell) and vbscript.
That means for many systems people, that don't program e.g. c#.net, .. they have to learn only one language syntax, hook up to their target namespace and use that software's proper methodes to configure whatever needed.