Companies aren't under some written contractual agreement customers to put out a game by a certain date after they announce a release date. A release date is simply a date by which they hope to release a game. If they can't release the game by that date, then they are free to take as long as they like releasing it no matter what the reason is behind it. Complaining about it serves little purpose.
Whether they misjudged the time that would be required to release the game or if the game in general requires more time to have the working feature set that has been promised, it is better to delay the release than to rush a broken product to market. If the delay if due to their own incompetence in producing the game then they are the ones who are "losing" money due to the longer development time. We the consumers aren't losing anything. So yeah, delays are just sometimes necessary.