esp8266 newb - How to understand this device?

I picked up some esp8266-01 modules and I have successfully created a flasher on a breadboard and I've even uploaded some sketches to one of them and successfully got UDP communication working between it and java app I wrote on my laptop...

But here's where my confusion begins ...

After uploading sketches through the Arduino IDE, I am no longer able to access the devices AT commands so I figured maybe I needed to re-flash some default firmware and this is where my nightmare begins...

There are bajillion different ways to go about flashing firmware into this thing so I decided to go to the source and get their latest build ... yet even that is very confusing.

For example, in the readme.md file from ESP8266_AT_Bin_V1.7.zip:

# BOOT MODE
## download
### Flash size 16Mbit-C1: 1024KB+1024KB
    boot_v1.2+.bin              0x00000
    user1.2048.new.5.bin        0x01000
    esp_init_data_default.bin   0x1fc000
    blank.bin                   0xfe000 & 0x1fe000

### Flash size 32Mbit-C1: 1024KB+1024KB
    boot_v1.2+.bin              0x00000
    user1.2048.new.5.bin        0x01000
    esp_init_data_default.bin   0x3fc000
    blank.bin                   0xfe000 & 0x3fe000

# NON-BOOT MODE
## download
    eagle.flash.bin              0x00000
    eagle.irom0text.bin          0x10000
    blank.bin
        Flash size 8Mbit:        0x7e000 & 0xfe000
        Flash size 16Mbit:       0x7e000 & 0x1fe000
        Flash size 16Mbit-C1:    0xfe000 & 0x1fe000
        Flash size 32Mbit:       0x7e000 & 0x3fe000
        Flash size 32Mbit-C1:    0xfe000 & 0x3fe000
    esp_init_data_default.bin  
        Flash size 8Mbit:        0xfc000
        Flash size 16Mbit:       0x1fc000
        Flash size 16Mbit-C1:    0x1fc000
        Flash size 32Mbit:       0x3fc000
        Flash size 32Mbit-C1:    0x3fc000
 
## compile
    modify eagle.app.v6.ld, as
    irom0_0_seg :                         org = 0x40210000, len = 0x6C000
    

> NOTICE: UPDATE is not supported in non-boot mode; 4Mbit Flash is not supported in non-boot mode;

# Update steps
1.Make sure TE(terminal equipment) is in sta or sta+ap mode

    AT+CWMODE=3
    OK

2.Make sure TE got ip address

    AT+CWJAP="ssid","12345678"
    OK
    
    AT+CIFSR
    192.168.1.134

3.Let's update

    AT+CIUPDATE
    +CIPUPDATE:1    found server
    +CIPUPDATE:2    connect server
    +CIPUPDATE:3    got edition
    +CIPUPDATE:4    start start
    
    OK

Whats the deal with the different upload addresses? And Boot mode??? NON-Boot Mode???? This makes no sense to me at all.

Is there some kind of documentation somewhere that explains to someone new to these devices, the general philosophy of how this thing works ... what the different address ranges are all about and how to know what your uploading where and which file is the right file etc. etc.

Cause that readme assumes that the reader has some deep knowledge of the device already and I cant find a general overview of this device anywhere ... everything out there seems to assume that you have the basic knowledge of the device already.

Thank you,

Mike

read the AT firmware reference pdf