A few other lists are worth mentioning:
Classes.TFPList - The basic list of pointers. The lightest and fastest. Classes.TList uses it internally, adding code to track delete/insert events (at least for compatibility with Delphi). I've seen patches on Delphi that "remove" these tracking excesses from the TList to speed up. In FPC, this is not necessary.
Contnrs.TFPObjectList - inheritor from TFPList, while maintaining the same speed, similar in functionality to Contnrs.TObjectList. Some of the LCL and FCL components use it.