I have used both cable and DirecTV. I rarely encountered weather related problem with cable (when I was in New York City and in Fort Lee-New Jersey). Since I have switched to DirecTV, I have weather related problem whenever there is mild-to-heavy rain. This may have to do with the fact that my house is not tall (2 floors, relatively flat roof), and there is a not-so-short tree south of the house.
The other thing is that DirecTV requires a decoder box at each TV. If I remember correctly, each additional decoder box costs additional monthly fee. I used cable basic service and I didn't need a decoder box. The use of decoder box not only costs more but also causes some inconveniences. For example, I cannot use picture-in-picture any more because that would require 2 decoder boxes in one TV, and I cannot watch TV in more than 2 locations in my house because I am restricted to 2 decoder boxes (and I don't want to pay extra). Of course, this point is irrelevant if you want to watch premium channels in cable or if you want to subscribe to HDTV cable service or your local cable requires you to use a decoder box even for basic cable service (such as in New York City); in these three cases, you will need a decoder box, and cable will not be better than DirecTV in this espect.
I am still staying with DirecTV because a family member wants to watch a channel that cable doesn't carry. Otherwise, I would have switched back to cable.
Jay Chan