Bütün and hepsi may be used for the same meaning, meaning "all".
Hepsi means directly "all (of)"
Bütün çiçekler - all the flowers
Çiçeklerin hepsi - all of the flowers
Bütün gün - the whole day, all day long
More specificly bütün can be used directly for "the whole", "the entire". when something is made up of shares that constitute the whole.
I hope this helps.