That is one of the major reasons, true. Giveaways show a form of appreciation for patronizing them and this can be in form of cash or monetary items that are mostly valuable.You are very correct, but i think the main reason most companies do that once in awhile is also a way of showing appreciation to their customers and it is also a way of giving back to the society