On the one hand, it's not an either-or issue, so long as you use DirectManipulation at every level you can easily build scripts on top of them. On the other hand, it's never the case that both direct manipulation and scripting are appropriate. On the third hand, what decides which is appropriate is the user's frame of mind, not any objective or external criteria.
It's simple. Direct manipulation is for those things we care about, things we want to learn and understand. Scripting is for those things we don't, things we just want to do without thinking about them. The former affords problem solving and creativity, the latter affords ease of learning and brute efficiency.
Examples of exclusive scripting:
In a way. But in another way, the exact opposite. Scripting is for new things which you haven't discovered whether or not you care about them. Direct manipulation is for experts who know what they're doing.
If you want to transition a novice to an expert, then you just make sure the scripts' internals are visible. That's the default mode with scripts meant for human beings, and it's why experts get tired of them very quickly.
Human beings are most comfortable within a preset zone of creativity and novelty. They don't want to drown in the novelty of a system they've just encountered or forced to think creatively all the time. But they don't want to be stifled in a familiar system that allows no creativity nor get bored by the lack of novelty.
People have different levels of familiarity and they also have different comfort zones for novelty. That's why you need to provide both. Because for each user and for each circumstance, only one of them will ever be appropriate.
See Also: MouseScriptDisconnect