Question: why are ambiguous grammars undesirable?
Answer: Ambiguous grammars are undesirable because the derivation tree provides considerable information about the semantics of a program; conflicting derivation trees provide conflicting information. Ambiguity is a property of a grammar, and it is usually (but not always) possible to find an equivalent unambiguous grammar.