In a nutshell
Normalization is the step-by-step splitting of one cluttered table into several clean ones so that no fact is stored twice. Each level fixes a specific flaw: 1NF demands single-valued cells, 2NF removes columns that depend on only part of the key, 3NF removes columns that depend on the key only second-hand, and BCNF tightens that further. Every split is lossless — you can rejoin to the original — and the payoff is that update anomalies disappear.