The real issue is hardware skew. We like to buy/sell and build on cloud as if it is a pure utility where every unit is equivalent, but every year processors change, go EOL, etc. As a provider you have to make a call about how much of that complexity you expose to the end customer. Some customers want complete transparency, which I understand, but the downside of that is hundreds of variations of pricing options and complications around managing heterogeneity (e.g. how do you represent simply how much available capacity there is when you effectively have 300 variations of the same 'size' instance).
Of all the component parts of compute, CPU is the one that changes the quickest. Disk capacity is easy to model, disk throughput has changed much at all (minus the introduction of SSD), memory is pretty stable (minus some increases in databus rates). All in for the typical instance in a multi-tenant virtual environment, the same today as in 2006, the two most vaguely defined attributes are cpu and i/o. With the increasing use of 10gigE as well as SSD, hopefully we finally push through the i/o piece. Not sure what it will take to get us there for a clean way to model and describe 'standard cpu' as a provider.
Also, if anyone has specific questions about Slicehost cpu priority handling circa 2006-2008 or Rackspace Cloud Servers cpu pre OpenStack, just ask and I'll be happy to answer.