They decided to give current iPod Touch users the ability to upgrade, and have all the apps that the iPhone has - for a price.
Why?
It’s the law. Unfortunately, there is a horrible little law called Sarbanes-Oxley, that legally doesn’t allow you to add features to products that you have already been paid for. Apple couldn’t add features for free. They had to charge something for them. Apple has gotten around this for the iPhone and AppleTV, by accounting for their payments over the course of 24 months. This means that they can keep adding new features to your iPhone or AppleTV for free for up to two years. They didn’t use this accounting method for the iPod Touch however. This means that legally, they can’t just add apps to the iPod Touch for free. Why charge $20 then? Why not just charge $1? The $20 for 5 apps comes out to about $4 per app. This is most likely the price that Apple will be selling third-party apps at, and wanted to keep their prices consistent.
I also believe that Apple chose to use this as a test of their system for purchasing and installing apps through iTunes. This could be a giant test, to see how a part of their SDK system works in the real world. I am sure that they are furiously working in Cupertino right now finalizing the SDK to get it out to developers as soon as possible.
But in the end, it really comes down to what you bought in the device. You bought the device for $300 or $400, and knew what it would do. Apple has now given you the option of upgrading your device to do a lot more, for only $20. You don’t have to do it. You can just stay with what you originally bought. I don’t own an iPod Touch, but I know that if I did, I would be grateful that they gave me the option, instead of doing nothing.