Time and money.
For a program to be HD, it must be shot in HD, edited in HD, distributed to the local stations in HD, transmitted to you (over the air, cable, satellite) in HD and you must have an HD set.
Replacing every piece of equipment involved is quite expensive. Also, the equipment usually isn't built until ordered so there can be about 90 days lead time just to get it in house. TV stations and program providers have to budget for this and replace stuff as they have the money to do so. Any piece along the whole chain that has not been upgraded will stop the whole show.
Also, not all programs are produced in HD for the same reasons listed above. Legacy programs were not in HD, either. For example, CSI from 10 years ago will not be in HD when it's rebroadcast (which currently is happening on cable). If a program was not produced in HD, it doesn't matter if the station is HD capable, the show won't be HD.
Broadcast Engineer for 30 years.