What do you like best?
Octopus is a special class of service, which takes care of installing your product after it gets build, to different Windows machines. The build server builds the code and runs tests, while Octopus takes care of deployment.
What I like is that Octopus has deep integration with TeamCity, Microsoft Team Foundation Server and also a cmdline application for deploying releases that can be integrated with any build server. It can be totally automated (with notification to administrators) to install new builds whenever the build is complete. This is absolutely brilliant and I cant really tell how so many hours of my work time have been saved just due to this.
Beyond just deployment which can also be done with some ad-hoc script using SSH, what really shines is that it identifies the machine versions and installs the required driver and database versions appropriately on each of them with latest security updates. Anyone who have dealt with a number of Windows servers each locked to different versions of Windows have definitely faced the missing driver problem.
What do you dislike?
My biggest complaint is that it must be manually installed on each deployment machine, there is no hosted service for this. Maintaining Octopus itself becomes a problem with time, with manual up-gradation required on each machine. There is also no facility to host it as web service on your own intranet which would allow you to get away with installing it only once, on your central server.
Other than this, the UI is not too well-designed and sometimes advanced options are hard to find. It can sometimes crash while doing many operations during a ongoing deployment state. Good thing is that the deployment continues in the background even when it crashes and restarting it often solves the problem.
Recommendations to others considering the product
For Windows deployment, Octopus Deploy is a decent choice. It is better than the Windows Server tools which we used earlier.
What business problems are you solving with the product? What benefits have you realized?
Our team maintains a internal package manager and it depends on a few open-source projects which need to be compiled into a single executable. As our dependencies gets updated every month or so, we build new executables and have Octopus Deploy in place to install them in all developer machines.