+2 on the Airport Extreme Solution.
I have a 3200 sq ft house, on three levels, with the cable modem and network junction box in the basement (surrounded by basement like cement walls). I have the main Airport extreme there, powering the wired network, and the wireless network. On the main floor, I have a second Airport Extreme in Wireless Extend Network mode (its not even connected to ethernet, it picks up the network and sends it out again). That reaches the rest of the house, and does so in a way where I have pretty much full bandwidth. I can get as much as 30-35MB downloads on speedtest connected to the network on the main floor. I could never do that before.
If you want more - and don't care about 5GHz connections, throw in an Airport express somewhere in the house. I actually keep my second extreme in my entertainment center, right next to my Apple TV and Dish DVR.
IF you go this route, the key is to manually set the channel on the main extreme, and then replicate that exact setting on the second one. IF they are on auto, you will end up with the same SSID splitting channels, and I found that I would sporadically lost connectivity (there is a thread about this buried somewhere from last summer). With them both on manual settings, its one seamless network, and has not had a dropped connection in oh, I guess the 6 or 7 months since I set it up. Its NOT a cheap network, but it works extremely well, it is fast, and for people like me who just don't want to worry about my network, and don't want to do the equivalent of putting a custom rom on it, its a great solution.