I have a POS D-link router (I know, I know.. but's it's been working great).
I have three computers connected wirelessly, all three with el-cheapo 'generic' wireless PCI cards. Might not be the most desirable setup, but it's been working fine for me, and until things start to break I really don't see the need to change them.
Keep in mind... internet speed is typically much slower than the fastest LAN speeds (even for wireless), so don't worry about this limiting your speeds. Example... my router is capable of 100Mbps wired, 54Mbps wireless. My internet is 10Mbps. No problems there.
Your router will need to be configured with a public AND a private IP address. The public is what you are assigned by the ISP (it'll typically be something like 10.200.41.163). If you are assigned a "dynamic" IP through your ISP, you have to set the router up as such. The private IP is what the computers in your house will see, and it will be set to something like 192.168.1.1.
If you want security, set up WPA or WEP encryption in your router, turn off DHCP, and configure each computer manually. Your IP Address contains network AND client information.
Example: 192.168.1.1
192.168.1 is the network identifier (on a typically class C network which is probably what you'll want to build)
the last .1 is the computer identifier (this must be different on each computer).
So if you use, for example, 192.168.1.1 for your router's IP, then the computers will have to be something like..
#1 192.168.1.2
#2 192.168.1.3
#3 192.168.1.4 etc...
(I have mine set to .101, .102, .103 to make it a bit easier to remember).
Each number between the dots has to be between 1 and 254.
Personally I preferred to change the default IP of my router to a different address (Something like 192.168.123.1).. but as long as all the computers follow the same number scheme, that's all that matters.
If the printer has a network connector, you can just plug it in and assign it a similar IP address, but if you have to connect it to one of the computers you have to SHARE it, and assign a share name to the printer... then on the other computers add a network printer to the computer's IP it is connected to, and it's share name (Example.. 192.168.1.200/printer). The only drawback to this is the computer the printer is connected to has to be booted up for other computers to print to it.
DNS... assign the PRIMARY DNS address of each computer to the same private address of the router (192.168.1.1 for example). Assign the SECONDARY DNS addresses to the ISP's DNS settings (same thing you'll set the router to if it's not dynamic).
GATEWAY... assign the GATEWAY address of each computer to the router's private address (again.. example.. 192.168.1.1)
SUBNET MASK... this number determines which values of the IP address refer to the network.. and the computer's parts. 255.255.255.0 (considered a class "C" network) means that ALL of the first three numbers are network identifier numbers, and all of the last number is for the computer identifier. Make sure, for the public settings on the router, you match the specifics the ISP gives you (unless this is dynamic)... it gets complicated, but a mask of 255.255.128.0 and 255.255.255.0, even with the same IP address, can mean something completely different. On the private router settings, set this to 255.255.255.0, and on all of the computers set this to 255.255.255.0
SECURITY... like I said.. keep everything as non-DHCP as possible. DHCP gives the router the ability to assign each computer their own network settings automatically, which is convenient.. but typically not necessary on a home network, unless you use laptops at work and at home.. or constantly have different computers in the home... or use devices that require DHCP (Example.. I use VONAGE phone service, and my phone modem requires DHCP). In my example I set up a rule in my router to enable DHCP, but only with one single IP address to give out (192.168.123.200 for example), and also to ONLY assign this IP adress to the specific MAC address of the phone modem.
A "dynamic" internet connection between your ISP and your router is basically them using DHCP to give your router the applicable settings. With this setting, your router's public IP address, DNS settings, GATEWAY settings, etc... can change each time you get on the internet (or even while already on!)
Also on each computer, set up a user password... even if there is only one user in it. This way, if someone manages to get through your router to a specific computer, they still need the password at that point (yes I know there are ways around this as well.. but if someone wants into your network SPECIFICALLY, it gets very difficult and at times expensive to secure it further... this is just one more step to make it more difficult for them).
Following these steps, as well as enabling WEP or WPA encryption on your router, is typically enough to deter the vast majority of hacking threats out there. If you want to take steps further you can turn off ping returns at your router, shut the doors on all of the ports (and open as you need to), and install software firewalls on each computer, but personally I've found this to be more of a pain than it's worth, for the most part.
Ever hear the saying "If you don't want your car broken into, don't keep anything expensive inside of it"? Well the same thing applies here. There's nothing on my computer that I can't afford to lose, so keep this in mind.