Yes, unless something has changed recently, Dish offers the HD service free with a 2 year contract and DirecTV charges $10/month. The question about why is that they can. Not a valuable answer but a reality. The companies are not required to re-broadcast in HD, only required to re-broadcast. I called DTV and told them I was going to move to Dish if I had to pay the $10 and they waived the fee for a year. I plan to do the same thing next year.
As an aside, all the equipment you need to receive DTV HD should be available as a free upgrade if you sign a new contract.