More or less correct.
With a programmer, you can: load a sketch that will start immediately after a reset; or you can load a bootloader that watches for serial communication and performs self-programming, and if no serial comm occurs then the bootloader starts the sketch.
Arduino can be loaded with a programmer sketch to load other parts per the above.
New chip does not need a bootloader, it can be programmed with a sketch. Select File:Upload Using Programmer.
(have not tried that personnally, I have a standalone programmer (several actually), less wires to mess with).
to see if cores & bootloaders exist for the other chips if you do not see the chips listed as being used on an existing board type.