First of all, Openness: It's a free and open source project, if it doesn't contain that awesome feature you wish so much, you have the opportunity to contribute to get it on the project. The community behind it is composed mostly by developers of the hundred cloud companies that support and make use of the project. That means a huge base of users under several vendor's cloud around the world, bringing some reliability to the project. The community cares about avoiding vendor lock-in and thus there are initiatives to assure vendor's openstack cloud compatibility with OpenStack's.
Also, quality assurance (QA) *really* matters in OpenStack. You'll see unit, functional and integration tests, besides a rigorous code review process on every change proposed for every project. Of course it's not bug free, nothing is IMHO but I feel like its community is a huge example of how QA should be done.
It's an abstraction layer to manage all the different services necessary to get a cloud environment up and running, thus you can chose which hypervisor, storage and network kind you want to use (which means that your knowledge on your current infrastructure will be useful using OpenStack as well).
Finally the fast growing ecosystem around it, thanks to the big tent initiative, will provide most of all the services and tooling you may need to deploy or offer a robust cloud environment.
Docs are far from ideal, in quantity and quality, OpenStack is huge and things change way to fast and thus sometimes documentation doesn't help you to explore the latest or best of OpenStack.
To deploy openstack isn't a easy task, every single project has a ton of options, and of course it's hard to keep puppet/chef/ansible/some-other-tool sync'ed with the volume of new features every release.
So several people I talk to think OpenStack may be the solution of their problems. You need to evaluate cautiously if that is *really* the correct solution. Maybe you just want to manage your guests, or containers locally, in which case OpenStack isn't the better choice (the overhead installing and maintaining it will not be worthy). OpenStack is something aiming to offer enterprise class set of services integrated and well tested, so sometimes it will be overkill to some smaller tasks, you need to consider the trade off.
I'm a software developer and current we OpenStack to setup development environment for all our team.We also use it to host services small etherpad, irc bouncer, nagios and others. But mainly openstack is the cloud we use to provide compute resources to our CI system.