Is there difference between Timer vs Counter in ATmega328P? Or is it the same thing?
A Timer and a Counter on an ATmega328 is the same piece of electronics.
There are three independent timers on the ATmega328.
Each timer has one counter register, and two comparison registers.
Each of the three timers has slightly different capabilities.
One has a 16bit counter, the other two 8bits.
With one it is much easier to count an external clock.
One has more flexibility on dividing down the main clock, so it is easier to adjust to count at a specific rate.
They are one and the same.
A "timer" is just a counter being fed a periodic pulse train; you can determine the elapsed time by multiplying the current count by the period of the pulses. Since possible sources for the pulses include both an oscillator (either directly or through a prescaler) or an external pulse (periodic or otherwise) via
Tx (not to be confused with
TX), it can act in both modes.