The reasoning was that they couldn't release Xcode 4 free for Snow Leopard because of Apple's extremely conservative interpretation of Sarbanes-Oxley. Xcode has always been free with new OS versions. They were only charging extra if you wanted to get it for the old OS.
(An extremely low price point like $5 is generally a tip-off that Apple is just charging a nominal fee to satisfy accounting rules.)