The lack of GUI policy has resulted in an unfortunate proliferation of sets of GUIs and GUI policies.
Authorizations are extremely painful to configure.
X's font handling isn't great. X doesn't know about antialiasing, which is a concept that postdates its design. The X system design is over ten years old and X could do with a substantial redesign based on the learning that has taken place from the whole process of building X as well as various other graphical environments. Running apps across networks is really useful. The fact that it simultaneously accommodates applications using different GUIs is useful.