The biggest thing Xen is lacking right now is memory overcommit. I'm afraid this will add significant complication to the Xen kernel but I feel it is necessary. Say for example my physical hardware has 1G of RAM in it and I want to run 2 domains. My domains usually only need 256M of RAM each to operate but on rare occasions need up to 768M. I am forced to make them swap or buy 2G of RAM for my machine. It would be nice if Xen could manage the physical RAM in a smart way and provide the memory to the domain that currently needs it.
A more obvious example might be in the case of virtual hosts. Maybe I want to sell Xen instances or give them to my friends so they can learn Linux. When a domain is not active all of its pages of memory should be swapped out so other domains can use it. I should be able to provision a few dozen lightly used xen domains on a box with 2G of RAM. But as things stand now I can only provision 4 512M domains on such a box.
My friend may only log in once a week to play with his Linux instance. Or maybe a low volume web server rarely gets hits but does need to be online to service the hits when they come. It seems silly to have so much memory sitting idle, especially when memory is still not terribly cheap and PC's still usually can't handle more than a few gig. Idle memory is wasted memory.