Not every program has well-designed output you can consume in a shell pipeline easily. Even then, to do so you're going to have to learn grep, sed, awk, head, tail, cut, a few others besides.
Powershell packages output up neatly into objects, so you don't have to learn and use all those text parsing tools to be productive with it. Essentially it moves the burden of thinking about how to use the output efficiently onto the writer of the commandlets, where it should be, and that means that the effort is only spent once, instead of over and over again by every subsequent user of that tool having to write code to parse it's output like you do in POSIX style shells.
It's an approach that has it's downside - if the information you want isn't neatly packaged up as a property by the author, you're going to have to work to get it, whereas with a normal tool that just spews a text-wall to STDOUT you might have a hope of finding it in there.