I can only speak to my experience with Chef (which has been awesome). Chef is open source, you can use if for free, and they have good on-line documentation and wiki pages.
Chef has several 'flavors'. You can run the whole thing for free using Chef-Server (which requires you to set up the server software in addition to the client software on your system). Opscode also offers a hosted version (where they run the server for you) ... you can use the Opscode Platform for free for up to 5 nodes, after than you have to pay for the 'enterprise' edition.
Chef also offers a 'Chef-solo' version, that doesn't speak to a server, but I haven't found that to be very useful.
So, if you have less than 5 'nodes' (a node is either a server you are administering or a workstation from which you administer) Chef is free. Or, if you want to go the route of hosting a Chef-Server.
Support has a fee, but the community is usually pretty good about offering advice.