Choosing a Router
Many people choose a router from a friend or colleague's recommendation or simply buy what's touted as the most popular product by the shopping website that they like to use. If your needs are simple, you'll probably do just fine with this method. But if you use the Internet in more advanced ways, you'll need to do some homework in order to end up with a product that you'll be happy with.
Many of the problems with routers are due to conflicts between the technology that routers use to work their magic and the web-based applications that people use. Some applications have no problems running through a router. Others have problems that can be solved by changing the settings on the router. But some applications just won't work at all, or will have their features so crippled by the router that they are essentially unusable.
Tip: The "magic" that most hardware routers use is called Network Address Translation or NAT. See this Wikipedia article for an understandable explanation of NAT.
The basic rule of thumb is that if you (or your software) starts an interaction with the Internet, your router will be happy and things will work just fine. But ff someone on the Internet tries to connect with a computer on your LAN that is behind your router's firewall, they won't get through unless the router is configured (and is configurable!) to let them through. This behavior is due to the basic firewall function that all NAT routers provide.
NOTE: "Firewall" is one of the most frequently used, but least understood networking terms. I'll attempt to clarify it shortly.