With ZigBee, what you pay for is to join the ZigBee Alliance, which gives you access to all the documentation and specifications. Typically you also will pick a vendor from whom you'll buy a devkit. The devkit usually includes their software stack on top of which you build your application. The stack code usually comes without a per-unit license, but it only runs on their chips, which is where they make their money. Your vendor is also the one who provides support when you run into trouble, either with understanding how the standard is supposed to work or with their software specifically. Most wireless vendors will also supply development tools like wireless sniffers, code generation tools, tools to send and receive messages from your computer for testing, etc.
I've never worked with the MSP430 wireless stuff, but from what I can tell it only implements the low-level raw-byte communication, so you still need to implement a data protocol on top of it. Looks like you can do Dash7 on them, actually.
A big part of having standards like ZigBee, Dash7, Z-Wave, etc. is interoperability between different devices. If you're looking to do a hobbyist project that may not really be a concern, so you just want a way to get raw data from point A to point B for which there are numerous solutions. The other piece that you get from building on top of a standard and a vendor's stack is that all the messy routing and network management functions are already implemented and abstracted behind an API, rather than needing to implement it yourself. If you're interested in having a mesh of devices that can route through each other, or having a defined process for joining and leaving the network, or rediscovering and rebuilding routing tables, etc. then building on top of an existing standard starts to make sense. Battery-operated devices add a whole new level of complexity, as you need to figure out how to let a device sleep most of the time. For devices that only send data (like most sensors) this isn't an issue, but if you want the devices to be able to route through each other or if the sleepy device needs to be able to receive data, you need to come up with a synchronization mechanism, or some sort of parent-queue that holds messages for sleepy devices.
Someone has to write all that code though, and it's nontrivial and a relatively small market (as opposed to say, the internet, but it's growing fast), so there aren't as many open-source projects implementing them.
Check out
http://freaklabs.org/ though, he's got some good info in there and has implemented a substantial part of the ZigBee spec.