It seems like a bad business model to give stuff away for free right? Well, thats because in most situations it is a bad business model. But in some cases, you can actually do better by giving something away, so long as you do it right.
Think of Google. When Google's original search algorithm was created, the founders intended to sell it to Stanford University as an internal search engine that the university could use to improve its research capabilities. Well, what would have happened if they had sold their algorithm? They probably wouldn't have created the Google we know today would they? Nope. It would have been named something like "UniSearch," and the only people who used it would be nerdy grad students at Stanford. Instead, after they realized how good their engine was, they decided to run it for free on the Internet for all users. By opening up a superior product for free to everyone in the world, they ensured a massive base of users, and figured that they could find a way to make money off of this base. Google has been selling ads on its searches almost since the very beginning. These ads provide the revenue Google needs in order to continue operations. But in order to ensure it keeps its enormous consumer base, Google has to continually offer improved services for free. Thats why they now offer blogging software, Youtube, maps, and Google Earth (not to mention hundreds of other services). They give all of this away for free just to ensure that they keep their users happy.
Hewlett-Packard also follows a similar concept. They sell their printers at a loss - a significant loss. But they know that if consumers buy their low-priced printers, these consumers will have to come back to buy ink and toner from HP. By being willing to sell one product at a loss, they ensure that they will have a large customer base that buys their other products at a profit. This keeps HP profitable, and puts tremendous pressure on their competitors to sell low-priced printers. The customer doesn't mind either.