That's flat out wrong. The NFL does not have more balance than baseball. Look it up.
• Baseball has had five different World Series champs the past five seasons.
• The NFL has had one team win three of the past five Super Bowls.
• Baseball has had six different teams win the World Series the past 10 seasons, and 13 different teams reach the World Series.
• The NFL has had seven different teams win the Super Bowl the past 10 seasons, and 14 different teams reach the Super Bowl.
• The National League has had eight different champions the past eight seasons.
(Cut from an article, not quite up to date, but you get the point) http://sports.espn.go.com/espn/page2/story?page=schoenfield/060329
Look up financial balance between clubs. Find out the revenue of the highest and lowest NFL clubs. Then compare that to the highest and lowest MLB clubs (say the Yankees and Rays). It is shocking.
The NFL has a big advantage in this regard. They play 16 games per year vs 162. Makes it more reasonable to have a national TV contract. But the real reason is that some smart guy many years ago (I think it was Rozell but no longer remember) convinced all the owners that TV revenue should always be split evenly amongst the clubs. It didn't seem like a big deal at the time, but now that is the largest source of revenue.
MLB got smarter, and did the same thing with Internet media rights. That money has been growing significantly over the years. But local TV numbers are still staggering. The Rays and Braves get something like a few million per year, while the Yankees and Dodgers get hundreds of millions per year. The numbers aren't even close, and won't be in the forseeable future.
And yet in spite of all that, the NFL isn't any more competitive.