Almost all Microcontrollers have a internal clock source. Some micro-controllers have features to use a external clock. If you are not concerned about any clock timing error in nano second scale, you can just use internal clock. Almost all real time operating systems use a timer based on internal clock of a microcontroller for their timing, scheduling and task functionality.A internal clock is usually accurate in millisecond scale.
All peripherals need a clock source to function and generate signals at accurate intervals. ADC, SPI, PWM, General purpose timer and others use the internal clock. They derive their clock from the main clock source of the microcontroller which is usually written as XTAL.
More info about XTAL and external clock EXTAL here: