One problem with building real world spreadsheet applications is that it is potentially too easy.
As nearly everybody can build a spreadsheet, anybody can.
However like any powerful tool spreadsheets can be dangerous in inexperienced hands. Building quality spreadsheets requires planning and skill.
For example a lot of users approach building a spreadsheet with the same attitude as they use to create a document were using a word processor . That is type in the contents and format it later.
While this is fine with a wordprocessing as any layout or spelling mistakes can be quickly spotted and corrected, spreadsheets 'hide' their content.
For example, what are the actual contents of the cells in the spreadsheet below ?

By default formula 'hide' in cells and display only their results.
In addition spreadsheet software tends to combine the data and calculation together.
Programmers know that this approach is fraught with danger and in fact studies of business spreadsheets have shown they are often riddled with errors.
There are a number of cases of business making disastrous decisions based on faulty spreadsheets.
It is for this reason that spreadsheet models should be developed in the same way as a programmer would write a program.