The problem you've got is that the boot process isn't (and really never was) all that simple.
First problem is getting the firmware to be able to read the media and load some defined part of it into memory and then transfer execution to that chunk of memory. The actual process is different depending upon media and on the connection between the hardware and the computer.
Floppy disks were usually rather simple one step items. With hard drives, partitions came into the picture and the first sector of the disk had a table to identify them and a short chunk of code that could find the right code on the selected partition to load and execute that.
GRUB handles this with Linux as it includes the firmware readable code and a second stage find the system and execute code along with some other goodies. It could be installed on a floppy but (as noted above) it would need to be set to find the system on larger media.
UEFI and GPT make things a bit more interesting as the partition table isn't as simple and limited location on disk table and the firmware is able to read certain types of file systems in a partition to find code that will boot the system.
For CD-ROMS, look up the El Torito format and it's history. Booting a CD isn't as simple as it might seem, either. Note that most CD's and DVD's are formatted in UDF and that can also be interesting to work with on boot.
check out a http://kevinboone.net/boot.html
for a good summary of the PC boot process.
There are some programs out there that will simplify the process for you. They are usually intended for burning CD's and DVD's. There are other programs that turn this around and will convert a bootable ISO image to a hard drive bootable image as used in USB flash drives, for instance. These usually on work with a selected set of bootable systems where they know what to use as an executable kernel and where that kernel is stored in the image. I've also seen some backup programs that create bootable DVD's to hold the backup but these usually have trouble keeping up with the march of 'progress' in the Linux side of things.
There's a lot of legacy stuff in this topic and it can be a good way to learn about a part of technology development that was critical yet often just taken for granted.