The principles around which they are written are very different; a prescriptive grammar is one that lays down the rules for English language usage, while a descriptive grammar synthesises rules for English usage from the language that people actually use. A prescriptive grammarian believes that certain forms used are correct and that others, even though they may be used by native speakers, are incorrect. Many prescriptivists feel that modern linguistics, which tends to place emphasis on actual rather than perceived language usage, is responsible for a decline in the standard of language.
Descriptivists look at the way people speak and then try to create rules that account for the language usage, accepting alternative forms that are used regionally and also being open to forms used in speech that traditional grammars would describe as errors.
As with so much in English, both sides have a lot to offer. Pure prescriptivist grammar will lead to artificial claims that are hard to maintain in light of the facts. While prescriptivists would prefer the use of the past subjunctive after if (If I were you, etc), it is very difficult to claim that everyone who uses was is wrong, especially as they are the majority in spoken language. Google puts past subjunctive just over 10% ahead, though it is recording written text only. While there are still traditionalist grammarians claiming that they are right and half the population is wrong, most have modified their approach and talk of this form as preferable, or describe it as formal register, and ESL examination boards no longer test it, bit accept both.
There are also zealous descriptivists, who instead of genuinely describing English language usage, feel they should give it a hand to change and develop, by encouraging the demise of forms they see as old-fashioned. Those who fall into this trap, such as recommending avoiding whom, or claiming it is no longer relevant are themselves simply neo-prescriptivists, though favouring development and change rather than conservativism.