In the past week Major League Baseball has seen 3 games last almost 5 hours. Of the three, only Friday night's marathon 17-inning bout between the Padres of San Diego and the Blue Jays of Toronto, lasted that long (4 hours & 58 minutes officially) without weather interference. The other two games, Thursday night's hurricane of a game between the St. Louis Cardinals and the Kansas City Royals and Friday's one again off again match between the Tampa Bay Rays and Cleveland Indians, saw torrential downpours that aided in the extreme length of the games.
The Cardinals Royals game officially lasted 5 hours and 32 minutes while the Indians Rays game took 4 hours and 49 minutes to end. During the last ten years, fans, teams, and everyone in between have seen the average MLB game length time-wise rise to around 2 hours and 50 minutes. This isn't unprecedented as the average length of an NFL game in recent years has been just above 3 hours. While other sports take less time from start to finish, baseball constitutes one of the few sports without a set clock. We play 9+ innings until a winner is decided, not time for anything.
All that being said, baseball games are often postponed, usually due to inclement weather. This brings up the question of why the Cardinals and Indians games were not postponed, but instead delayed until completed late in the night? One reason is the recent addition of more interleague play to the MLB schedule. Due to the movement of teams this past offseason both leagues have 15 teams, meaning that either each league one have one team off every night or for their to always be an interleague series. The league chose the latter option, and so far the only negative to come about has been the problems associated with postponements and weather delays.
The Royals and Cardinals had played 8+ innings of baseball on Thursday night, and according to the rules a game cannot be ended early if the home team hasn't had a chance to bat. Essentially, the two teams must complete the bottom of an inning after the 5th for the game to end officially. Still, let's say hypothetically these teams had completed only 4 innings of the game when the clouds opened and what seemed like an entire lake's worth of water fell on the plains of Missouri. Had this in fact been the case, the teams would have had two choices. One would be to play a double header the following day, except that option couldn't occur, as this was the final game in the series. The second would have been to postpone the game and then replay said game later in the season. To do so the two teams would have to find a common day off, which often proves very difficult, or find the next time the two teams meet in the same home team's park. This would have also been rather onerous as due to the interleague nature of the game, there is almost no chance the Cardinals and Royals meet again in St. Louis.
So, interleague play has some issues, and the result in Missouri was ending a game in the wee hours of the morning. For the Royals and Indians, who both play in the American League, this also proved true, but for many intra-league games it isn't the case, and the two teams find a series later in the season on which to place a double header. In this case, the extension of the game actually led to an apology by the Indians to their fans.
"The game was delayed 1 hour, 57 minutes at the start, 13 minutes in the second inning and then for another 2:39 before it started again at 12:13 a.m. The crowd had dwindled to a few thousand by that point. Shapiro said the two teams, the umpiring crew and Major League Baseball worked together in reaching the decision to play the game. "If any of us knew that we would resume play after midnight, we certainly would have done everything possible to cancel the game earlier," he said."
Essentially, Indians president Mark Shapiro admitted that despite some scheduling difficulties to overcome, the Indians, had they had more weather information, would have reached a different conclusion earlier on in the night. This leads us to the crux of the matter. Baseball is played, for the most part, outdoors. Yes, football is also predominantly played outdoors, and more so, in the winter, but unless there is lightning over the stadium or a tornado coming through, NFL games are played. Baseball games though, undergo delays as long as the weather, let's use rain as our prime example, constitutes bad enough to make the playing conditions to difficult to keep the game going.
What's the solution? Build every stadium with a retractable roof. This may seem overly simple, but oftentimes the simplest answer is the correct one. Now, this isn't the easiest solution to implement, as most teams don't just build a new ballpark, but it instantly stops the weather issue. Currently 7 of the 30 MLB stadia are covered over, or have the ability to close and open the roof. These stadia are located in the weather extreme areas like south Florida (rain and humidity), Arizona and Houston (heat), Milwaukee and Toronto (cold), or Seattle (rain). Still, just because a city is located in the middle of the country doesn't imply that a number of games will not be rained out, shortened, or delayed every season due to weather. The lone MLB city I can think of that might not need, but still should have, a retractable roof is Petco Park in San Diego, yet southern California is rain-phobic.
If each MLB stadium had a retractable roof no team would ever need to postpone or end a game early, and the longest delay might be 20 minutes to allow the stadium operations crew to close the roof in the event of completely unforeseeable inclement weather. Now, this isn't a realistic solution since stadiums cost a lot of money and building them constitutes a long and arduous process. More importantly, most franchises are currently on their 1st, 2nd, or possible 3rd stadium since their respective inceptions, and baseball has been around since prior to 1900. Still, the next teams to build stadiums shouldn't even consider not building a retractable roof because the alternative just isn't worth it.