With complete 2GHz systems costing $250 or so, they would have a hard time selling people "we worked hard for a year, and here it is: it does the same, but it has a slightly faster/more memory efficient/more robust kernel" (battery live drives developments here a bit, but that is about it)
So, they start adding features. They could have made APIs for features and allow third parties to plug into them, but I guess doing that would have been more of an effort than building a good one (Android has it easier there with its Java infrastructure), and it just isn't in their DNA to sell a Lego set or to focus on making money from their hardware.
Yes, this will hurt some third party software, but I can understand why they 'have' to do this (and no, I do not think they could have gotten away with adding a totally new set of original features instead; people would still have complained about the lack of a decent notification system)