Discounts usually reflect backend payments to retailers or incentives for retailers to buy certain quantities of items. There are many reasons to offer discounts, some of which may be non-obvious. Products like breakfast cereal have fluctuations in demand, but the high fixed manufacturing costs and long sales cycle make it difficult to change production. So the manufacturer offers supermarkets a deal in the middle of the summer when kids aren't going to school to buy a bunch of cereal. Discounts like that are supply-side incentives.
Other discounts are at the retailer level to generate cash, attract customers (loss leader) or clear out old inventory. If a supermarket has too much perishable chicken on hand, it will slash the price. Even if they lose money, some money is better than spoiled chicken that you need to pay to have hauled off to the dump!
A rebate is there to stimulate demand, without affecting the sales channel. A rebate gives a price-sensitive consumer an incentive to buy products they normally wouldn't. A computer manufacturer may offer a rebate if you buy a printer with a computer. A beer company may give you a rebate to buy pretzels, hotdogs, and a larger case of beer.
Manufacturers like rebates because you "help out" the price-sensitive consumers, but folks who aren't price sensitive or find it a burden to fill out a form don't get the discount. They also reduce returns, which are a huge issue -- especially for products sold at discount retailers with 90-day return policies.