DFU or DfuSe is the USB package for do a firmware upgrade on STM32 via USB.
DfuSe contains the demo GUI, debugging GUI, all sources files and the protocol layer.
For using DFU on STM32 please read the AN3156 and UM0412.
AN3156 - USB DFU protocol used in the STM32 bootloader
UM0412 - Getting started with DfuSe USB device firmware upgrade
The key benefits of the DFU Boatloader are:
No specific tools such us JTAG, ST-LINK or USB-to-UART cable are needed.
The ability to program an "empty" STM32 device in a newly-assembled board via USB.
And easy upgrade the STM32 firmware during development or pre-production.
Here there is a video that show how to use DFU and STM32F072B-DISCO.