Hi,
For the various clock sources there are different behavioures
* absolute clock frequency accuracy
* clock jitter
* temperatue drift
* adjustability (manually variable capacitor, varicap, VCO)
* drift caused by supply voltage variation
* start up time after power down
* power requirement
* part cost
* PCB area
* maintenance (in the meaning of calibration by hardware, by software or manually)
Each clock source has it's features and specifications, benefits and drawbacks.
Each application has some clock requirements. These requirements determine which clock source can be used.
1) UART application needs a clock that is accurate within 1-2% tolerance. Accurate over time, temperature and supply voltage variation.
An RC clock usually can not guarantee this. But it's an easy task for an XTAL or a resonator.
Still there are options to use an RC clock for UARTs, but with increased effort. For example it could expect a dedicated UART receive pattern to calibrate on this.
2) ADC for tracking battery voltage. Is rather uncritical.
But there are other ADC tasks that have tighter requirements.
For example if you run an FFT on the ADC samples. Then you need at least a low jitter clock, but often a rather accurate and low drift clock.
3) RTC needs a very accurate very low drift clock. On the other hand it may be quite jittery.
An 1% inaccuracy lead to an error of 36 seconds per hour. Not acceptable
If you want an accuracy of 1 second per week, then it needs a clock with less than 1.6ppm = 0.00016% error
Quite hard requirement. Obviously no resistir and no capacitor is accurate like this. Thus an RC clock will not work.
Still RC clocks have their benefits:
* they are cheap
* easily adjustable frequency in a wide range by selecting part values
* very fast start up after power down
Klaus