I use one Airport Extreme and two Airport Expresses to extend the wifi coverage to the extremities at my home.
I have two main reasons for choosing Airports to do this:
1) Airports have pretty strong signals and penetrate to most hard to reach areas better than many other access points that I've tried before.
2) The ability to extend the wifi coverage and create a roaming network is very easy. With the old Airport Utility program (5.6.1) there was a "Allow this network to be extended" check box on the wireless settings. The new Airport Utility (6.3.5) does this automatically. Basically it allows one to extend the coverage area by using as many Airports Express units as needed. This creates a roaming network with one SSID and allows you to walk from one spot to another without an interruption.
There may be other routers with the ability to create a roaming network but Airports are very easy to setup and are mostly trouble free.
My suggestion would be to use an Airport Extreme for NAT, DHCP and port forwarding and extend the coverage for dead spots with additional Airport Expresses. Or, if you are using your modem to do the NAT, DHCP and port forwarding, then you can save money by using only the Airport Express(s).