To some extent I am repeating myself, but I just had to get this down. The web is evolving and rules change. Both for the the people using the web and for the people publishing. First, consider these four words, describing a couple of things that are important (click the words to get the full story behind them):
Make it available and remember the long tail.
Communication channel. Not only a distribution channel.
Metadata, tags, RSS, widgets and descriptions.
Give the users control.
Then focus on keeping things simple and spend huge amounts of money on getting the usability right.
Then build your site using as much off-the-shelf software as possible. And remember that there are a lot of free, open source solutions that are very solid systems. A standard LAMP (Linux, Apache, MySQL, PHP) or something similar as the basis. Consider publishing systems like WordPress and Drupal. Frameworks like Ruby on rails and Django. For media publishing consider professional solutions like Brightcove, vpod.tv, kyte.tv, Blip.tv etc. And don’t be afraid to integrate with well proven sites like Flickr for images, del.icio.us for tagging, YouTube for video etc.
When you are making that system that lets your audience get some control you might have to build an API for them. Why not start with the API and build the initial system using that yourself?
Yes, I know. This isn’t the definitive guide to build a killer web site, please feel free to add your best advice in the comments.