OK, you decide to add another address to your record. This will involve
- Schema changes
- Code changes
- Testing
- Documentation
- User interface changing.
If you used a normalised structure then it would be an trivial data change.
Let us suppose that you don't need to fill in every address. This implies that the additional address fields have to be nullable, or at least store empty strings.
You are storing wider information than you need so are increasing network traffic every time you bring back a record.
The ANSI standard says that NULL values are not equal to anything, even another NULL value therefore to test for NULLs you need to use a special function. That means if you want to search for records where field <> value you have to code up field<> value AND field IS NOT NULL or the equivalent. In highly stressed systems this makes the query less efficient.
There are occassions when denormalised data is useful. Normally (no pun intended) this is in applications whose principal use is for data retrieval. Systems where data has to be maintained rarely use them.