What do you like best?
The great thing about OpenNebula is its simplicity. Comparing to other private IaaS solution that are open-sources (for instance OpenStack, CloudStack) it is much simpler to install and maintain. Similarly, due to its simply, plugin-based architecture developing a custom hypervisor driver was a breeze. The same applies to web console - it is clear, elegant and undoubtedly matches the latset UX trends.
What do you dislike?
Sadly, the above-mentioned simplicity of OpenNebula doesn't mean that it is an elegant product. It surely has a lot of rough edges. For instance, its security mechanisms leaves a lot to be desired: requirement for a passwordless sudo account, CLI configuration stored as a plaintext. Besides, we found out that there are some 'hacks' in platform's core engine just to support some specific technology stack that should be rather provided as a well-though plugin mechanism.
Recommendations to others considering the product
If you need a simple to use IaaS platform and have a small amount of compute nodes (i.e. hypervisors) to maintain pick OpenNebula. In more complex deployment you should probably consider more advanced but at the same time complex soltuions.
What business problems are you solving with the product? What benefits have you realized?
We tried to leverage OpenVZ containers as a hypervisor in a IaaS platform. We choose the lightweight virtualization as it is more promising in terms of resource usage and efficiency. It is more suited to needs of creating a Platform-as-a-Service solution on top of IaaS what was focus of our work. We picked OpenNebula as a IaaS platform of our choice because we found that its learning curve is much more tempting than in other IaaS platforms available (OpenStack, CloudStack).