Cursor pagination returns an opaque position after the last item instead of a page number. The next request reads after that position in a defined sort order. New items at the front do not shift the boundary already read.
In the demo, inserting a new item before the first batch still leaves D and E after cursor C. Use a stable ordering with a tie breaker, and keep clients independent of the cursor encoding.
When to use
Use it for long or frequently updated feeds that must be traversed without shifted page boundaries.