There are two implementations of IPagination - LazyPagination and CustomPagination.
When you use the AsPagination extension method on IEnumerable, by default this will create a LazyPagination which uses LINQ's Take/Skip functionality to page the collection the first time it is enumerated.
CustomPagination allows you to implement your own paging mechanism (for example, if you have already pre-paged your data in the database), in which case you can just new it up and pass in the required information:
var pagination = new CustomPagination<Person>(myAlreadyPagedCollectionOfPerson, currentPageNumber, pageSize, totalNumberOfItems);
So this will not perform any paging for you automatically, but instead infer that you have already paged the data yourself via whatever mechanism.
Jeremy