A tangent from FallingWater...
My house sucks. It is certainly not a work of art, but it was striking when I first looked at it (5 years ago).
I live in a townhome. From the bottom stairway you can look up from the basement, to the second floor and up to the top. It makes the house feel open and spacious. From the top floor, you can look down to the basement. The whole place has an open airy feel. The middle floor has 3 large front windows, an open well lit kitchen and a high ceiling.
It was the prettiest townhome my wife and I looked at.
Okay, it looks good, but...
Due to the open stairway, and the placement of windows, we can only put our television is one specific spot (which forces the couch in its one possible orientation). Good thing we didn't go for the fireplace, we would have lost our one free wall.
Also, the house gets chilly during the winter (the open stairway channels cool air up), and is expensive to heat.
I have a kid now. The open stairway is no longer impressive. It is a hazard. The house was built with a children's room in mind but they never considered safety elsewhere throughout the house...
Now, I admit that the home wasn't a singularly spectacular design (it was part of a planned community), but most software isn't singularly spectacular either.
I don't want to build software this way.
-- ToddCoram
Requirements change. Software that was right for a small company might no longer be appropriate after the company has grown. A house that was right for a couple might no longer be appropriate for a family with children. One problem with software is that you can almost never sell it to someone else if you decide you have outgrown it. However, you CAN sell houses! There is probably someone who will love that house, and you can get one that is more appropriate for you now.
But sometimes the pain of selling up and moving on is greater than living with the less-than-perfect house/software you currently have.
Or, you could place scaffolding and braces all over the place and refactor your house. Just don't do it without the unit tests, er, braces.