The Arduino UNO WiFi board is based on the ATmega328 and it has an integrated
arduino ESP8266 WiFi Module. If you are starting out with Arduino, or starting with IoT, this is the board to get.
The Arduino Uno Wi-Fi is the new Arduino Uno with an integrated Wi-Fi module! The board is based on the ATmega328P with an ESP8266 Wi-Fi Module integrated. It has 14 digital input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a 16 MHz ceramic resonator, a USB connection, a power jack, an ICSP header, and a reset button. It contains everything needed to support the microcontroller; simply connect it to a computer with a USB cable or power it with an AC-to-DC adapter or battery to get started.
The ESP8266 Wi-Fi Module is a self contained SoC with integrated TCP/IP protocol stack that can give access to your Wi-Fi network. (Or the device can act as an access point.) One useful feature of Uno Wi-Fi is support for OTA (over-the-air) programming, either for transfer of Arduino sketches or Wi-Fi firmware.