Many people think of it as a Wifi "add-on" for other projects, which I think is a big mistake. It can certainly be that, but is absolutely useful as a self contained microcontroller with or without Wifi.
I used to have an extensive set of notes on working with the ESP8266, but they were lost when the machine holding my website had a disk crash. I hope to redo them someday in a better form if I ever stop playing with ARM processors and go back to finish up some of my ESP8266 projects.
If you start wanting to run things from a battery, you will want to ditch the USB to serial chip and LED's and just run a bare module. You will need to give it 3.3 volts somehow, and you will need an independent USB to serial converter for debuggin and to load software. Go buy some ESP-12E modules on AliExpress. They typically sell for about $1.70.
You will wait for 2-3 weeks when ordering via AliExpress direct from China. I order in batches of 10 and am delighted that I can get 10 of these things for less than a miserable AVR controller board.
You can apparently use something called "Arduino" to develop code for the ESP8266, but this involves you in some horrid half baked IDE, along with some mongrel dialect of C++ they call "Sketches". I found nothing to interest me here and moved on.
I played around for a while with Lua and NodeMCU, but quickly discovered that the NodeMCU developers had used up almost all of memory for NodeMCU, leaving nothing for the end user. I was unable even to load and run simple demos without running out of memory, and beside that the resulting error messages were cryptic. I gave up in disgust an have never looked back.
Developming code in C using the SDK is remarkably pleasant and entirely appropriate for a device like this. I have worked up a number of projects, which you will find on my Github page. You can also find my Lua projects there as well, but you need to recognize that this is a dead end road.