To complete bjou's answer:
A potential problem with min-max normalization is that it is very sensitive to outliers. For example, if your dataset contain 100 two-dimensional examples; and that the dataset looks like this:
1, 147
8, -252
3, 125
2, -605
...
10000, -100 <- outlier
4, 200
min-max normalization will squash almost all values of the first attribute to 0, at the exception of the last one which will be 1 - and as a result, it is unlikely that the first attribute will have any weight in the classification.
You can instead use a robust variant of min-max normalization which uses the first and third quartile (or 1st and 9th decile) instead of the minimum and maximum.
Another common normalization technique consists in removing the mean and dividing by the standard deviation. You can think of it as an analogue of Mahalanobis distance in which the covariance matrix is constraint to be diagonal. It is somewhat sensitive to outliers to, but not as drastically as min/max.
A last thing worth mentioning: gaussianizing your data (for example with a box-cox transform) is often helpful - whenever you are doing things on data with the euclidean norm there's a gaussianity assumption lurking behind!