Normalizing the text before matching won't remove important accent marks and such, it just combines them so the bytes can be compared.  For example, the character **ñ** can either be represented in memory as **n** and **˜** separately or combined into a single character.  Most display systems (eg. browsers) will combine these characters visually, even if they're actually separate characters.  The normalization step just ensures we're comparing apples to apples and not driving ourselves crazy trying to compare strings that look visually equivalent.