This is exactly right. Blizzard's biggest competition is themselves.
Keep in mind that Blizzard is a business. Businesses exist to make money. They are making money on WoW and they have no incentive to release a game that will compete with another one of their games.
Don't blame blizzard for the delay of these games, blame WoW players. If everybody quit WoW today and blizzard had no income, I guarantee we'd see SC2/D3 in a couple of weeks.
WoW's subscription base has plateau'd. Maybe this is why we are seeing SC2 beta very soon. And they lost a huge portion of their WoW base in China due to censorship or other problems.
