The three main problems that I see with the D&D skill system are:
1) The cost to invest in cross-class skills is prohibitive. Skill points are a scarce resource, and the double penalty of increased expense and limited ranks combine to make cross-class skills a painful choice for players. That's not to say that I've never seen players doing it anyway--and I've done it myself. ButI believe that players should be encouraged to diversify their portfolio beyond the archetype of their class, not strongly discouraged as they are now.
2) The list of class skills for each class is somewhat arbitrary--it's easy to imagine characters whose primary abilities are best represented by one class but who would logically have a very different set of class skills. Examples include the seafaring fighter (marine), the court magician, the urban berserker, the savage bard, and so on.
3) Most classes simply do not get enough skill points to fill all the roles they are supposed to play in the party. While this has the advantage of making Int much less of a dump stat, in practice even with a decent Int many characters are forced to make the choice between maxxing out their canonical skills and diversifying into the skills they really feel their character ought to have given their background. If a player chooses the latter path, they suffer an in-game penalty for creating a character with depth, which I find unfortunate.
These three slightly different mechanical problems all combine to discourage reflecting a good background story in the skill selection, to the detriment of the game. I feel that D&D would be a better game if characters had better backgrounds and more skills. Skills are useful but not overpowering abilities that give players the opportunity to contribute even when their primary abilities can't come into play. Allowing players to max out their core skills while still diversifying according to their background will increase everyone's participation throughout the game, and therefore everyone's enjoyment as well.