Afaik you can only change prices of products already in the cart, but not actively adding those products to the cart if you reach your "buy 10 products of type X" quantity. You have to have it in the cart already and only get a discount for them. if you do not have them in the cart: nothing will happen.
I know that there are some extensions that address this, but i do not know if there are any compliant to a free license.
The problem with "buy X get Y for free" alsow was, that it is not cross product. So you cannot "buy 10 of X and get i of Y free" but only "buy 10 of X and get Y of X for free".