Internal or external Oscillator on STM32F072CBT6
External oscillator is more precise than internal oscillator. You use the oscillator that is good enough for the job you are doing. So if the device you are doing does not require high precision, you can choose to make a cheaper product with internal oscillator. If precision of internal oscillator is not enough, then you must use an external oscillator.
For example, interfaces like Ethernet needs 50ppm clock tolerance so an external crystal is required. And you certainly don't want to build an alarm clock with an internal oscillator that has 1% tolerance, it can drift more than 14 minutes a day.