There are a few reasons why rebates are offered instead of just reducing the price of a product. I managed to learn a few things from the loyalty industry over the past few years, not the least of which are the concepts of breakage and float.
With regards to rebates, breakage is the difference between what is redeemed (filled out, mailed in, cheques cut, mailed back, cashed in...) and what is not (tossed out, forgotten, misplaced, mismanaged...). When a computer manufacturer offers you a $250 rebate on a $1000 purchase, they get all the money from the retailer for all the computers, then SOME of the people who bought the computers mail in the rebate. The company then mails out the rebates and keeps the rest as breakage. This varies across industries, but for arguments sake, call it 20%. Assume that one in five people just don't get around to mailing in that little card.
The second reason, and not insignificant, is the concept of float. With rebates, there is an understood delay between when (using the above example) the retailer pays the manufacturer for the computer, and when the customer finally gets around to mailing in the card, and the company finally gets around to mailing out a cheque. Imagine if this is $250 x (thousands of computers per retailer) x (possibly thousands of retailers) x (6-12 weeks) = a lot of money sitting in the bank account of the computer maker and not the retailer or customer...
The other thing to consider is marketing. The warranty card and rebates are really the only way that a manufacturer can build marketing profile data about its customer base. This is truly the direct connection, and so this is another reason why rebates are great for them. They know you'll likely put real information on the forms, because now we're talking about their money.
Last but now least is marketing from an optics perspective. It looks better for the advertising to say the computer (from the above example) costs $750 with a mail in rebate than to say $1000. Right? Even when we're paying the money we're factoring that rebate, but breakage shows we don't all participate. What do you do?