What do you recommend for deploying web applications?
For deploying apps (Ruby apps, in my case) I have used Capistrano and currently uses Vlad Deploy .
What are you using for deployment and why?
a source to share
I am using capistrano and subversion.
Capistrano is very well documented inline and is gradually being documented online.
see the Absolute Moron Guide to Capistrano (don't be offended)
Takes a little to ride, but then he blesses.
a source to share
I have used Subversion (source control) in the past to handle web deployments and I know that it has become more popular over time. This makes it VERY easy to rollback if you have problems (from the code side). Here's an article on it:
http://arstechnica.com/open-source/news/2005/04/linux-20050406.ars
Here's an article on tweaking her for a more unique flavor:
http://www.jejik.com/articles/2008/08/easily_develop_and_deploy_web_applications_from_subversion/
For windows, I use the free VisualSVN package:
and then just used the command line tools to do the actual check. I also found this previous question along the same lines (but for PHP):
How do I start deploying PHP applications from the subversion repository?
Personally, I don't like it when it's fully automated - I still manually start the deployment and watch it, but some people might be comfortable giving the machine the option on its own. :)
a source to share