WiFi pros:
Internet gateways (i.e. WiFi access points) are already used so IoT devices could have direct connectivity to the Internet without the need for additional infrastructure (setup cost, maintenance cost, etc.).
Almost every smartphone is WiFi enabled, so communication with WiFi devices is quite easy and direct without the need for additional hardware.
It is an established standard, supporting a full TCP/IP stack, meaning that when developing applications you need to focus only on the application level programming for message and information exchange.
Integrates security
WiFi cons:
Cost (even the Electric Imp at 25$ is much more expensive than a pair of RF transceivers)
Even low power WiFi has more power consumption than RF (and also the communication protocol introduces much unnecessary overhead)
Low power has poor indoor performance
RF on the other hand has also great benefits over WiFi in the context of M2M:
Higher transmission range and better indoor performance
Better price
Standards like ZigBee and 6LoWPAN include security implementations and mechanisms for error corrections/retransmission, etc. so that developers can focus just on the application level as well.
See on blog.buildinginternetofthings.com