You actually don't have to sign a contract with Comcast; they only do that for certain discount plans. I'm currently on a 6 month promotion, getting $40 off, but I'm not under any contract.
A lot depends on where you live and what your needs are. Here, I can choose between all three, and prefer Comcast, because my entire package (High Speed Internet, four television outlets, DVRs on three of them [all of which I own], one
HD) is less expensive than either DirecTV or Dish Network. If you don't have quite so many outlets, don't want quite so many DVRs (or don't already have a bunch you own -- the satellite services won't let you use anything other that what they sell), don't care about High Speed Internet, etc., each of these thing might change the dynamics for you.