A lot more good players.
Fewer great ones.
Not much else to it IMO.
For a lot of reasons, there are more good players today. Kids start playing earlier and they play more games. The system is designed to find good players early and maximize their potential. A lot of people have a vested interest in the business of basketball, and whether you think that's a good thing, it has given a lot of kids an opportunity to play.
At the same time, the NBA lures away most of the truly great players much earlier than in the past. This doesn't affect everyone directly, of course, but take Kentucky for example. Twenty years ago, they might still have Wall, Cousins, Bledsoe and Orton (all would be juniors now). If those guys stay, maybe Brandon Knight ends up at UConn, where he helps them win a title last year and leads them to a 3 seed this year. Maybe Terrence Jones decides he'd rather play at Oklahoma, or maybe Michael Kidd-Gilchrist joins Knight at UConn (pushing them to a 1 seed). And maybe Anthony Davis decides he'd rather play at Ohio State instead of sitting behind Cousins (which makes them, too, a 1 seed).
Now you've got Kentucky, OSU, UConn, Syracuse, UNC, Michigan State all with 1 seed talent. UNC and MSU, though, get pushed down the line and become 2 seeds. MU falls to a 3, and probably ends up playing a team that doesn't have a 6-10 kid we can't handle (because almost no teams seeded that low do). That eliminates one upset. Duke would also fall to a 3 seed, changing another outcome. There's two historic upsets gone. Apply the same rules to other elite programs that have lost players early and I'm sure things get worse and worse for the small teams.