A really good writeup on - What Is Web 2.0? at Oreilly.
The conclusions included the following points....
* Services, not packaged software, with cost-effective scalability
* Control over unique, hard-to-recreate data sources that get richer as more people use them
* Trusting users as co-developers
* Harnessing collective intelligence
* Leveraging the long tail through customer self-service
* Software above the level of a single device
* Lightweight user interfaces, development models, AND business models
What I felt is the most important is Control over "unique, hard-to-recreate data sources". If you can generate/own such data; you can expose an API and thus take care of the other points mentioned.
Another point mentioned is rich UI using AJAX.