Data-driven testing has maintainability challenges (A) because each test case needs separate data files. Finding specific data files (B) is difficult as test suites grow. Error tracing (D) is harder during unattended runs, especially when recovery scenarios activate. Extensibility (C) isn't inherently worse - scripts can be as extensible as other frameworks.