This Magento promotions module provides the functionality you might expect from the default buy x get y free promotion type.
When conditions are met, it automatically adds admin-specified, free/discounted product(s) to the shopping cart (buy $99 and get a free widget for free). It is auto added to the cart, there is no need to hunt for the item and add it manually.
It also has the ability to define how the discount is taken, as a cart discount or a line item price reduction. You can also define what to do with the added product once conditions are no longer met, either remove the item from the cart or keep it and revert the price to full.