I'm with Tom: A component for each function. My setup (and most business clients I have) is to run coax to the set-top box for TV, from the provider's unit (Arris here, but that doesn't matter much), run a Cat-5/6 cable directly into a firewall computer with the provider's WiFi turned off and their modem set up as a simple bridge. The firewall (2 NIC's) gets it's "public" NIC IP addy from the provider's modem, via DHCP. Has the second NIC, on the "inside" LAN, assigned a Class-C LAN addy (192.168.xxx.xxx). That is wired to the switch/router inside, along with a WiFi router for our use: "Hidden" SSID and a key from Hades to access. The house is plumbed with at least one RJ-45 port to use in each room. In our case, using a a 24-port patch panel to connect all room drops to a 24-port Cisco switching router. All machines on the "inside" are manually assigned Class-C addresses with the firewall as their gateway. With this or a similar setup, all the provider (and the rest of the innerwebs) sees from their end is the provider's modem and if they can get through that (VERY unlikely), the firewall appliance. At any given time a client can be running from six to two dozen machines. At th' hovel only an average of seven or eight.
WiFi routers can range in cost and ...err... range. I put Buffalo WiFi units in commercial setups, good coverage, good R.O.I. An "El Cheapo" AirLink 802.11G here at th' hovel. Even that will stream video to Herself's iPad, no sweat.
For residential use, I like Linksys WiFi units. Easy to configure any way you want, through the GUI. Most all WiFi routers are running a Linux kernel. From the EXTREMELY expensive (but they're RED!) Watch Guard ones, to this lowly AirLink.