Let me try to clarify. My general preference for ASObjC is based on a few factors.
do shell script is often slower. I admit, I'm a speed freak.
Second, I prefer a command or method that says it returns what I want, rather than a hack, and many uses of
do shell script are hacks doing things like reading implementation files. That's not the case with PlistBuddy, but I'm talking more generally.
Third, because they're at a lower level, some commands are traps. So
sort can have trouble with Unicode,
ls doesn't know a package from a folder, and so on. These things often work fine in tests and end up in code as bugs waiting to happen.
And finally an awful lot of examples I see also include code using TIDs/awk/sed/whatever to extract the required info from the result, and that's just another layer of fragile code. It's hard to test, and if the tool is modified -- and in some cases if the environment changes -- stuff can fall apart apart in hard-to-debug ways.
Now there are plenty of cases that avoid all these, and there are also ASObjC methods that are unusable or impractical. But I like to play the percentages, and I reckon they're strongly on the side of ASObjC.
And did I mention speed?