ISO images weren't originally designed to be bootable, which has meant hacks and general headaches in bolting it on. The El Torito extension to the format allows for booting (originally by including a bootable floppy image in the filesystem), but this only works when you boot via a CD/DVD. There are further problems when you need to support UEFI, as this boots differently from BIOS.
syslinux includes support for 'HybridISO', which allows booting by USB stick or hard drive for either firmware. This method is used a lot.
Most Linux ISO images now contain all the magic needed to get things working without any problems. Sometimes though you'll find different images for booting on a CD/DVD drive and via a USB stick, and copying either to the other won't work.
As for copying, you don't create any partitions, but it's best to use
ddrescue and use a blocksize of 2048 (which is what ISOs use), e.g.
dd if=image.iso of=/dev/sdX bs=2048