This problem is not specific to Riak or NoSQL, but with distributed systems in general. If you are using a relational database like mysql to track inventory, and are replicating that data between 2 or more servers, your application will need to be designed to ensure that you don't resell an item based on an availability report from server 2 when server 1 just processed a transaction selling the last one but it hasn't replicated yet. In either case you need to deal with locking or serializing purchase requests if you don't want to deal with apologizing to customers for shipping/production delays.
With Riak specifically, you can tune the availability/consistency to your needs through the use of read and write quorums, selectively failing operations like final purchase that must be consistent if the primary replicas are not available, while still allowing less critical operations like browsing inventory to continue. i.e. you can select consistency over availability or vice versa at query time.