One of the interesting points made by 37Signals in their book Getting Real is that, to develop a successful (web) application, you "build software for yourself". This is a fundamental theme among companies that innovate successfully, and came up again in this Business Week interview BlackBerry: Innovation Behind the Icon with the founder of Research in Motion, Mike Lazaridis.
They're the people who brought you the BlackBerry, and according to Mike, they innovate so well because
We use the product. The whole company uses the product. It makes us very competitive and it brings discipline to our interactions.
He goes on:
And so being able to test everything with our 8,000 employees has been very efficient. We not only have executives using the product but we're also Canada's largest single employer of co-op [cooperative education] students, so we have the whole spectrum of the very young to the very experienced all working at the organization. We have a wide cross-section of people who are testing these ideas.
It came up in another company I just had a look at, ProofHQ , who built a web application to manage the proofing and approval process because
We both suffered the frustration of getting work reviewed and approved by colleagues and clients and thought we could build a solution to make that process easier.
It also forms the basis of most successful open-source developments, which tend to arise from "Scratching your own itch".