My ADS-B reception improved dramatically when I put an external antenna on the belly. In areas where I used to lose coverage, I now get 3+ towers and often 5+. And I get towers at lower altitudes. Like Cobra, I can boot up iFly on the 4G Android tablet (or the 720 connected to WIFI) and the weather/radar is available fairly quickly in the iFly app, on the ground. 5 minutes later it's updating in the air. The cost of adding iFly on an additional hardware platform, $19.99 a year, is far cheaper than an XM subscription. The 978MHz UAT frequency has plenty of bandwidth to spare, and "the FAA is currently discussing with the vendor the possibility of adding even more "no cost" products to the FIS-B service, such as lightning, turbulance NOWcast, icing NOWcast, cloud tops, and 1 minute AWOS - uplinked every 10 minutes". (quote copied from Sagetech website).
Considering most of my flying is done cross-country at a decent reception altitude, me & my wallet are very content with ADS-B but I can see where XM could have an edge in other situations.