Well the first huge difference you'll notice is price. Due to the amazingly low price, the ESP8266 has become the most popular WiFi solution for Arduino products by far. This means you will find much more tutorials, libraries, example code, etc. for ESP8266. The official Arduino WiFi library is likely to be fairly reliable but is no longer very actively developed. The ESP8266 is a much newer chip so some of the Arduino code written for it is still a bit rough around the edges but it is getting better. The company that makes the ESP8266 has been really bad at providing documentation so this means development has been much slower than necessary. The hardware used on the Arduino WiFi Shield is better documented and likely higher quality but also older so I'm not sure how it compares performance wise.In addition to using the ESP8266 as a WiFi module connected to a standard Arduino board, it's also fairly easy to directly program the ESP8266 using the Arduino IDE. Technically this may be possible with the Arduino WiFi Shield but I've never heard of anyone doing it.
So, esp8266 is better than the shield for a beginner. Isn't it?