Differencing is the most common way to make a series stationary.
It shifts attention from the level of a series to how it changes.
Many models work far better on changes than on levels.
First differencing subtracts each value from the next, losing 1 value at the start.
A straight-line trend becomes a constant after 1 difference, which removes it.
A curved trend may need 2 differences, which are the changes in the changes.
Seasonal differencing subtracts the value 1 season back, such as 12 months for monthly data.
Seasonal and ordinary differencing can be combined for series with both trend and seasonality.
In pandas, the diff method does ordinary differencing, and diff(12) does yearly differencing of monthly data.
Differencing the logarithm of a series gives approximate percentage changes, which suits growing series.
Forecasts made on differences must be added back up to give forecasts of the original series.
Differencing too many times creates artificial negative autocorrelation and makes forecasts noisier.
Tests for stationarity, applied after each step, help decide when to stop.
In practice, 1 ordinary difference, sometimes with 1 seasonal one, is enough for most business series.
The usual mistake is forgetting to undo the differencing, then reporting forecasts of changes as forecasts of levels.