Official wifi adapter
- Allows more than just photo transfer. Nikon's official apps (iOS, Android) will allow remote triggering. Unofficial apps (e.g. qDslrDashboard) will probably give you more control: at the very least, remote control of basic parameters (aperture, exposure time, ISO), and in principle they can combine this with triggering to add bracketing support to cameras (such as your D3300) which don't support it natively, although I don't know which apps do this. See below for gory technical details on what is possible, but the most intriguing thing here is a hint that, although the camera doesn't advertise itself as supporting it, it may be possible to use unofficial software for Live View over wifi with a D3200+.
- May be manufacturer-specific. (Nikon varies from the specification for PTP and PTP/IP, so if you try to use the adapter in another manufacturer's camera you may find that the messages which notify of photo capture are lost). This has implications for resale, which may or may not matter to you.
SD card with wifi
- Compatible with any camera which has an SD card slot
- Only serves to transfer photos.
- Might not be so easy to turn wifi on and off.
Unofficial wifi adapter
You didn't ask about this, but... There are a bunch of third party wifi adapters. Many of them will support cameras from all of the major manufacturers but will try to lock you in to their own software.
There's also a homebrew option for those with the inclination and the time. This can be the cheapest option by far (if you're doing it as a fun project and not accounting your time) and has the most potential for allowing features beyond just photo transfer.
Basically all of these work on the same principle as the official wifi adapter: you communicate with the adapter over wifi, and it communicates with the camera over USB. Warning: gory technical details: every Nikon DSLR supports a slightly bastardised version of a communication protocol called PTP over USB. At one point Nikon supplied official software libraries (SDKs) for the whole range so that authorised people could write software to communicate with their cameras over PTP; now they omit the cheapest line (D3x00). However, the protocol is still supported, and some third party software uses it for unofficial support.
The early Nikon cameras with wifi support use PTP wirelessly (PTP/IP or PTP over IP), and reverse engineering of the WU-1a indicates that it seems to be a transparent bridge between PTP/IP and PTP over USB. It's a reasonable bet that anything which unofficial software can do over USB, unofficial software can also do over a WU-1a, both because of the observations made by reverse engineers and because Nikon probably wouldn't have wanted to filter features and lock itself out of compatibility with future cameras. I further speculate, although without evidence, that the D5300 etc. just have a WU-1a built in.
I haven't looked into the situation with more recent (Snapbridge-compatible) Nikon cameras with wifi support, because I don't have one.
I would like to thank Michael Clark for an enlightening discussion on the limitations of official Nikon support for tethering the D3x00 line.
FWIW I personally went with the homebrew option (Raspberry Pi, libptp, Apache, and my own tiny PHP site) when my primary camera was a D40. I'm now working on a homebrew Android app for use with my D5300, because although it has built-in wifi I find the official Nikon app rather limiting.