What people have complained about are:
The lack of competitive matches: The people responsible for this are the weak-at-heart teams like England, Pakistan, India and the West Indies - not the ICC.
The lack of spectators: The prices for tickets (which has been the main reason put forward by critics for lack of spectators) were set by the local authorities, who are meant to know their economy best - not the ICC.
The length of the tournament: Clearly, if you want minnows, reserve days, travel days, training days and rest days, and the television companies (who pump enormous revenue into the game) want the matches on separate days, it's hard for things not to become protracted. And is this tournament any more protracted than say the CB Series in Australia (which has 3 teams, but lasts for 32 days? By contrast, this tournament has 16 teams but lasts for 43 days).
Granted, the ICC are hardly perfect, but it's just so easy, convenient and misguided to lay all of the blame for everything bad in cricket, at their feet.