I need a module that can create special offers such as:
Spend £xx and get this t-shirt free (different sizes)
Free specific item when you purchase any of these specified products (only one per sale)
Same as directly above, but for different products and only qualifies for one offer per sale (cannot use both offers in one sale)
5% off specific items between dates.
Buy one get one free
Any recomendations please?
I'm sure there will be plenty of others available.. and since I don't have any affiliation with Amasty - I can't say 100% it would cover all of your needs.. but in the past I have used Amasty Special Promotions and Special Promotions Pro (available at: https://amasty.com/promotions-extensions.html) and they have suited my needs when I needed additional promotion types.
Please check if the the Magento default functionality of "Catalog Price Rule" and "Shopping Cart Price Rule" helps you with your requirements.
You can try our Add Free Product to Cart extension allowing you to add free products to carts or create special discounts via multiple rules and conditions.
Daily Deals by Magesolution is such a wonderful extension for running Daily Deal Promotion.
You will fall in love with the features of showing countdown timer and 3 tabs of past Deal, current deals and upcoming deals. Especially, the deal generator helps me generate deals automatically. I can save energy for many other tasks.