DirecTV and Dish's systems provide a consistant quality picture to every subscriber, due to the fact that the same signals get broadcast nationally. So, a DirecTV customer with an HD-DVR watching ESPN is going to get the same video signal going to the HDMI output whether he's in New York, Florida, North Dakota, or California. We're all looking at the same sats.
Cable, though, is LOCAL. Cable companies may own your local cable franchise, but your local franchise determines the limits of what that company can offer in your area, and there is surprisingly little standardization. So, you might be served by one franchise, and your buddy in the next town may be served by a different franchise, and you could have very different offerings as a result. The differences could be features (fast internet, OnDemand, VOIP phone service, etc.), or they could be picture quality.
While many factors play into picture quality, the biggest one is "how much bandwidth does a channel get?" Cable companies use MPEG2 compression, which is less efficient, and needs more bandwidth than MPEG4 (which is used by the sat companies for HD) to maintain a given level of picture quality. While ESPN on DirecTV in MPEG4 may need 7-9 Mb/s of bandwidth to deliver a good picture, MPEG2 might need 12-15 Mb/s to give the same quality. But the cable companies can't switch to MPEG4 until they replace ALL of their cable boxes, and they can't use MPEG4 for the local channels that they are required to provide unencrypted (i.e., "clear" QAM) for people who don't need a cable box.
But cable companies don't have enough bandwidth on their cable to simultaneously provide all the channels they want to provide AND still offer Internet and VOIP phone service. So, for now at least, many cable systems have only a limited number of HD channels, and even for those, they've had to squeeze the bandwidth down on each channel to make them fit. This means lower PQ.
There is a solution on the way (and in use in some areas), called SDV (Switched Digital Video), where you are only sent the channels you are actively watching. This requires newer cable boxes and updated head-end equipment at the main office, so it isn't available everywhere, but it is how the cable companies will expand their channel lineups for the near future.