i think the problems with both of those sports is that there is such disparity between the good teams and the bad teams. Where in the NFL any team has a chance each year to make the playoffs and win the superbowl, in the MLB and NHL the big money markets rule.
Actually that's not really true. In the NHL it isn't always the biggest money markets that win, look at the Rangers they have one of the highest salaries and they also have one of the worst teams year in and year out. That's one thing I love about hockey, you can have an group of amazing all stars play together but if they have no chemistry your team will stink. It's all about getting guys who play together well.