>- Any Boolean logic expression can be descibed with AND and OR
>- Developers are used to think in terms of AND and OR.
And the normalization of a logical expression means transforming it into a disjunction of conjunctions, i.e. into a form "(a1 and a2 and ...) or (b1 and b2 and ...) or ...", where only individual elements of conjunctions can be under negation; a parenthesized expression can not.
There's a reason why Boolean logic calls this the canonical form.