Deploying a website to a web server is hard. Not “It’ll take some extra time” hard or “We’ll need some help” hard. It’s “Get a whiteboard and plan out the thing A Beautiful Mind-style” hard. It’s easy to look at your code, look at your server, and just drag/drop files to production. It’s a lot more difficult to set up an automated system that will do that for you.
At Happy Cog, we work in a variety of technical situations, and our deployment strategies must be extensible enough to suit each and every need. We deploy to Windows servers and to *nix servers. In some situations, we deploy code as well as content. We deploy PHP websites on some servers and Ruby web workers on others.