Hay varias cosas.
Primero, hay que empaparse del tema:
http://smashingmagazine.com
http://webdesign.tutsplus.com/
Segundo se pueden conseguir diseños ya hechos - que ahorra un monton -:
Paginas completas, o solo el PSD:
http://themeforest.net/
Imágenes, set de interface, iconos, etc:
http://graphicriver.net/
Tercero, se puede usar un framework. He usado
http://twitter.github.com/bootstrap/ para el rediseño de
http://www.elmalabarista.com/ (aun faltan cosas) y me ha parecido muy bueno, en especial porque soporta less (
http://lesscss.org/)
Ahora para darle vida al sitio, hay varios caminos. Se puede intentar un stack full en javascript (ejemplo
http://batmanjs.org/ +
http://expressjs.com/ +
http://nodejs.org/) o contra php o
django (mi favorito!)
Django hace "lo de hacer un sitio sin saber mucho" gracias a su mágico "Admin":
https://docs.djangoproject.com/en/1....contrib/admin/. Esto genera un sitio administrativo en base a los modelos de datos. Es *realmente* un gran ahorro. Y lo mejor, es tan bien hecho que podria incluso entregarsele a un usuario o dejarlo tal cual.
Con django y su ORM (
https://docs.djangoproject.com/en/1....cs/db/queries/) el manejo de BD es muy facil e intuitivo. En mi opinion, django (o ruby on rails) son la mejor forma de hacer sitios web a la fecha.
Por lo tanto, yo recomiento django + bootstrap. Es muy facil tener algo listo en django (ppalmente el admin) contra una bd. Tiene una documentacion exageradamente buena, es rapido, simple de entender - igual tiene su curva de aprendizaje - y en mi opinion, es mejor que cualquier cosa hecha en php y en muchos aspectos que ruby.
Bootstrap? Porque hacer el html es por mucho el mayor dolor de cabeza. Tener un framework pre-armado y que es facil de modificar, es un plus tremendo.