Arduino pada dasarnya hanyalah mikrokontroler Atmel AVR, dengan elektronik pendukung yang cukup untuk memungkinkannya beroperasi. AVR memiliki blitz internal untuk memungkinkannya mematikan program, tetapi untuk memprogram chip AVR secara langsung Anda memerlukan alat seperti STK-500 untuk melakukan pekerjaan. Arduino mengatasi ini dengan juga memiliki antarmuka USB kecil di papan tulis, dan kode boot-loader Arduino sudah ada dalam chip. Ini memungkinkan aplikasi sisi PC untuk mentransfer program Anda ke perangkat, dan pada dasarnya, memilikinya flash itu sendiri.
Jadi, intinya, jika Anda mendapatkan Arduino, boot-loader sudah ada di sana, dan melakukan tugasnya secara otomatis. Anda kode program Anda di PC, tekan tombol 'unggah' pada IDE, dan dalam beberapa saat program Anda berjalan di Arduino. Boot-loader melakukan tugasnya dengan sepenuhnya transparan.
fwiw, saya pribadi memiliki Arduino 2009, dan STK-500 dan dapat melakukan pemrograman on-the-metal pada AVR, tetapi tidak menemukan perlu untuk mem-bypass bootloader Arduino.