There's a few Arduino and compatible WiFi shields on the market, each with varying levels of success (and failure). This has led to many people seeking alternative hardware solutions to getting there Arduino project connected via WiFi, and one fascinating option has been documented by Arduino forum member "jft2". They have simply taken the main circuit board from the inexpensive and hackable TP-Link TL-WR702N wireless router, and fitted it to a blank Arduino protoshield.
Doing so allows you to use the solid and tested Arduino Ethernet libraries - as the WiFi shield simply connects to the Ethernet shield or EtherTen board using a very short network cable, and an external power supply will be required for the combination of Arduino and shields. This is a solid and reliable method of WiFi communication for your Arduino that will just work. To for more information and discussion - visit the Arduino forum post. And for more, we're on twitter and Google+, so follow us for news and product updates as well.
If you're making your own WiFi shield as mentioned above, save time, space and money by using the Freetronics EtherTen. Apart from being fully Arduino Uno-compatible, it has onboard Ethernet, microSD socket, full USB interface (so you don't need a costly FTDI cable just to upload a sketch!) and supports optional Power-over-Ethernet.