It is a good question. I don't mean to pick on Carnival because I think "luck of the draw" is always a factor.
There have actually been MANY engine fires. Costa Allegra was adrift at sea just a few months ago (but those ships are identical to Carnival ships). But there are others.
If anything, I think Carnival could be a little more proactive about maintenance. When you hear that ship has been reacting badly for four cruises in a row before a ship fire you have to stop and say - hey, they should have taken that ship out of service and fixed it.
The only reason they don't is because you can't satisfy passengers when you do that - especially at the last minute. Maintenance has to be scheduled over a year in advance or else you are going to disrupt somebody's vacation plans. So they rarely just cancel a cruise.
But look at what happened. - now they have 14 cruises cancelled and all of this bad publicity. Whose fault is it? Wouldn't you like to be a bug on the wall at Carnival today?
But in fact, Norwegian Epic had an engine explode just about a week before the ship was finished in the shipyard. It was the first time they fired it up. They were lucky it wasn't a worse situation. Other cruise lines have had engine fires. April 22, 2012, Allure of the Seas, for example.
But yes, we do not really know the details yet. They said an "engine room" fire, but it could have been another engine control room fire, we don't really know.
But I agree that after these few incidents more should be done to make sure one fire cannot take out the entire ship's power. It is likely to be a fairly small design change that they didn't make in the past because it would have cost a few million more dollars.