Tools that can be used to flash your Android phone:

description Windows Linux OS/X
fastboot Y Y Y
Odin Samsung only Y N N
Heimdall Samsung only Y Y Y
JOdin Samsung only Y Y N

After you finish flashing the ROM on, sometimes you have to connect a different way, and make some additional changes.

description Windows Linux OS/X
ADB [2] Y Y Y
dropbear / SSH Y Y Y