Separability of Components
An idealized view of natural language processing has the components cleanly separated and sequential:
Lexicon / \ / \ Sentence --> Syntax --> Semantics | V Pragmatics | V Output
Unfortunately, such a clean separation doesn't work well in practice.