Because it's a cash cow and nothing more. If the IPL ceased to exist, would any true cricket fan really, genuinely miss it from a cricketing point of view? The only people to lose out would be the players on massive contracts and the Indian fans with the attention span of a goldfish who would rather attend that than a test match.
Like Warnie says, the game needs a balance. There's no reason why the short forms of the game can't continue to exist alongside the good stuff, but with the current structure (or lack of it) for the worldwide cricketing calendar, it just can't work. More global structure could see all forms of the game thriving.
Series in November - December - January for sub-continent/southern hemisphere teams with a limited number of days of cricket, so if they want to, they can all be used for tests, 1 dayers or a mixture of both. February should be free of cricketing commitments. March into early April for the IPL. Then instead of May tests, have that as the T20 and ODI time in England, and most probably the Windies too. Tests in July and August, maybe into September depending on how many tests and who they're against. Again, a limited number of days of international cricket through the English summer as well. Then no cricket in late September and October. OK, not a perfect system by any means, but getting the calendar a bit more organised wouldn't half improve the game globally for all forms of it.