I wanted to post here to give my in sight (and shacoa, you have some good information there, but unfortunately the issue is not even related to anything you mentioned).
I've had my Arris TG862 for nearly a year now. Ever since the did the firmware update last year I noticed my wifi stability went downhill drastically. The overall throughput went up, but the reliability went down. It got good for a while, then I noticed at random points my internet would quit responding (I'd be browsing the web, click another link and no response). For a while I thought well maybe it's the internet crapping out because usually the next day it would be cleared up, and would stay clear for a few days before coming back. Sometimes it would even stay tolerable for a few weeks.
I noticed my pings in games like Battlefield 3 would fluctuate (between 50-500ms or so) and I also noticed my download rates would fluctuate massively (looking at network monitor in Windows 8 task manager one second I'd be pumping out 30Mbps while downloading from Steam, the next second it would drop down to 4Mbps, then shoot back up, pretty much every other update tick). I moved my computer closer to the router and thought that possibly fixed it, but it would always come back.
Then recently it had just gotten extremely bad. So bad I can't even play Forza 5 half the time because I constantly see "Weak Network Connection" at the bottom of the screen, and the game speeds up and slows down due to network spikes. So after tweaking pretty much everything, doing hard resets, changing channels, I decide to take it a step further. I decided to see what kind of reliability I'm getting from my device (in this case my computer) to my gateway (in this case my Arris TG862) and I notice right off the bat from my computer to my gateway I'm getting a 5ms ping one tick, then the next tick 500ms, then back down to 10ms, then back up to 1500ms, even at times as high as 3000-4000ms, so I was immediately able to determine it has nothing to do with my devices (computer, cell phone, Xbox, etc), nothing to do with the internet itself, and it all is in the quality of the wifi signal from the gateway itself.
shacoa has some great advice, and these are things a lot of networkers do. They set each device to a static IP, set ports for each individual device to make absolute sure the exact ports you need are open, and it gives you piece of mind because you know exactly what ports are open for each LAN IP address. If you have ports open you need closed it can degrade your internet speed. Unfortunately, that's not the problem most people are having because with today's routers generally ports aren't a problem as most routers made within the last several years have a technology called uPNP which eliminates any need to open ports. The only exception is when you are working with older tech such as setting up a server for let's say Killing Floor. It understands and knows what ports things like Xbox Live and even torrent clients use, long as you have uPNP enabled.
So, what everyone needs to do is open command prompt (with Windows Vista, Windows 7 or Windows 8 just search for "cmd" and press enter - it should find command prompt). Then once command prompt open type "ipconfig" to see what the IP address is to your gateway. Look for a line that says "Default Gateway . . . . . . . . . :". It will be listed under your main adapter. You will see things that have "tunnel adapter" in the name. Ignore those. You should see something that is listed as "Wireless LAN adapter Wi-Fi" and under that you will see the default gateway address. Write this address down. This is your router or gateway IP address. Now, in your command prompt, type "ping gateway IP -t", so in my case my gateway is 10.0.0.1, so I would type "ping 10.0.0.1 -t" and what this will do is ping your gateway indefinitely, once per second. If your ping times are fluctuating, ultimately you have a problem with the quality of your wifi signal, and nothing you do ultimately will make things better until you get a consistent link between your computer/device and your router. By fluctuating I mean one tick is 10ms, the next tick is 200ms, then maybe a few ticks at 5ms, then a tick at 1200ms. There ultimately should be very little or no fluctuation here, as you are only going from your computer to your router or gateway. Generally you should only have a fluctuation of 1-2ms, and your latency should generally be no higher than 10ms at any given time with wifi, no higher than 1ms with wired. However, you generally don't have to worry about this with a wired link. This almost exclusively applies only to people with wifi links. The purpose of this is to identify if the problem is in your internet or in your wifi link. At this level, port settings don't matter. I see a lot of people mention opening ports, and that can be beneficial, but only once you find out the link between your computer and your router is stable and fast. Different security settings is more stable for certain devices. Sometimes there's simply nothing you can do but go hard wired or try a different router. Try different settings and see. Try to completely disable security, if it levels out then it could be the security settings. And make sure to let it run for a good 15-20 minutes before coming to a conclusion. Sometimes it will appear to be "fixed" then a few moments later it will sneak up on you again.
So to recap what you are ultimately doing is first establishing whether it's an internet or a wifi issue. If you determine it is an internet issue, proceed with what shacoa said, changing ports will yield different speeds if ports you need open are closed. If you determine it is a wifi issue, then what shacoa said (or anyone else) is not going to matter to you and you need to establish a consistent wifi link speed. Playing with security and wifi channels is the only thing that will help you, and bear in mind, in some environments it's simply impossible to get a stable wifi link.
I hope some people find this helpful in helping them track down their problems.