The way I see it, if BF4 had been delayed they could have had a more successful launch. However, they wouldn't dream of delaying BF4, because it would affect profits. Which is for the benefit of the shareholders. So in my mind, this is their fault. We all know that the way publishers attempt to crank out games as fast as possible is detrimental to the game, gamers and the industry, and it's becoming more and more obvious.
Look at CoD, sliding into the gutter year after year. Marginal improvements, an aging engine, models, textures and even animations being reused across several games. CoD has to go away for a while, for it's own sake. I want CoD to go off the market for 2, maybe 3 years, and when it comes back I want it to be the best damn CoD I ever played.
BF is buggier and buggier with each new release. The guys over at DICE are clearly talented, but it's also obvious that they need more time to make the games that they want to make. Bugs are to be expected, especially with a game as complex as BF, but there comes a point where it's simply unacceptable. Battlefield 4 is certainly a step up from BF3, but given more time I reckon it could have been something that really rocked.