Most bootloaders are fairly simple to use. But the details vary somewhat depending on the platform and its capabilities. The links on this page describe the unique features of each one.
Many people confuse the CircuitPython firmware with a bootloader. CircuitPython itself is not a bootloader. CircuitPython relies on the UF2 Bootloader to copy your Python program files to the board.
The UF2 bootloader emulates a USB mass storage device. When you connect a board with a UF2 bootloader to your computer, it looks like you plugged in a thumb-drive. It's not a real drive, so you can't use it to store all your favorite MP3s. But it will recognize certain file names as Python programs to load.
The UF2 loader can also operate in BOSSA compatible mode, so it can accept uploads of Arduino programs from the Arduino IDE.
The links below describe the CircuitPython system and the UF2 Bootloader in depth and how they work together to load your Python or Arduino programs.