Generalized Phrase Structure Grammar is a syntactic approach proposed in the 1980s to describe the formal grammar of human languages.
It was pioneeded by Gazdar, Klein, Pullum, and Sag in their book (Generalized Phrase Structure Grammar) (1985).
The idea is that grammar can be described by a hierarchical phrase structure (e.g. sentences, verb phrases, noun phrases .. etc).
Special attention was given to empty categories, such as those due to WH questions (e.g. What did you buy X?),
which were trated using phrase structure rules, rather than movement rules such as those proposed by generative approaches such as Government and Binding.
In the field of Natural Language Processing, much interest goes to natural language understanding. Right now most of this interest is directed to getting computers to perform specific tasks to each language aspect (e.g. answer question, analyze sentiment, identify named entities ... etc), but not to general understanding of the meaning of a particular sentences.
Hence the need for parsing in general, to process a sentence and identify its elements and the relationships between them. This processing most importantly checks the grammaticality of the sentence.
Modern automatic parsers don't usually evaluate the grammaticality of what is being parsed, which leads to missing a lot of important information conveyed by the structure of the sentence.
That's why GPSG is most useful, especially through its rules for empty categories, because it can distinguish between things such as
The topic we read about X was fun (grammatical)
* The topic we read about history was fun (ungrammatical)