I've always been of the opinion that the crux of the matter is design philosophy. 4e is a very good game. The classes are mostly balanced, the mechanics work quickly, nothing's too ambiguous, there's way less broken shit to worry about... It does lots of things better than 3.x. 3.x, however, is a much better world. The reasoning behind the rules is far more logical and consistent. 4e is all about game design, where 3.x says "Let's build ourselves a world." As a result, 4e's mechanics are much better from a game design perspective, but at the cost of making a coherent world. In a lot of areas, 4e is wacky (but streamlined and balanced) where 3.x is logical (but tricky and breakable). For instance, everything is 4e is tied to levels. Characters have levels, monsters have levels, magic items have levels, and these levels have direct mechanical effects and correspond perfectly to each other. It makes the game easier to run, but it's also arbitrary and weird. 4e's 'add half your level to all skill checks' might play better than 3.x's skill ranks, but it makes a whole lot less sense - how does a 20th level barbarian know more about history and religion than a third level religious scholar? 3.x monsters are just like characters with different racial abilities, and racial hit dice instead of (or in addition to) class levels. 4e PCs and monsters are fundamentally different, and if you want an ogre who knows more about fighting than most you have to make a whole new monster. People used to give 3.x's economy shit because, if you had a gigantic supercomputer run an entire world under those rules, the economy is the only part that would blatantly fail. 4e doesn't even have an economy.
Of course, having sacrificed making a coherent world in favor of making a better game, 4e, as a game, is much better. It's easier to learn, easier to run, plays faster, it's far more balanced... the list goes on, but there's a very real price to be paid.