This is because the the ESP8266 boot ROM runs at 74880 Baud.
Many people complain at the 'choice' of 74880; well there is a technical reason for it.
On the google.groups esp-open-rtos Forum I found a post by Angus Gratton.
He gives this explanation:-
On reset, ESP8266 hardware default baud rate depends on the crystal choice. With a 40MHz crystal you get 115200bps. With a 26MHz crystal you get proportionally less, 74880bps (115200*26/40). Almost everyone (including Espressif) ships hardware with a 26MHz crystal, so almost everyone gets 74880bps by default.
So, when the ESP8266 boots the baudrate is 74880, until you change it in your sketch. What you are calling 'Garbage' are boot time messages. These messages can help with debugging.
I prefer to run my sketches at 74880, so that I can see the boot time messages. 74880 is sufficient for most purposes.
One problem is that some terminals do not support the 74880 Baud rate. To overcome this I use CoolTerm set to run at the 74880 non-standard baud rate by using a simple baudrates.ini file, see here :-http://forums.the-meiers.org/viewtopic.php?f=4&t=479
Hope this helps.
(This is a revised reposting of this topic that was originally on the old ESP8266 Forum; so that Newbies can find it)