It seems that I shouldn't be using TStringList.Objects[xx] in new code, but should be using TList<T>.
I fail to see how TList could replace TStringList if you want to make use of things like Object association with a string or use the other Stringlist functionality that TList not even provides (such as Names, Values, Strings and Text properties).
In case you're using TStringList solely for the purpose for adding some records or objects to a list, then yes it might perhaps be that you are better of using a generics list.
Problem is that the question asked neither the answers given treats this part. The question asked was that asker was confused about the two. The answer given that TStringList is outdated and from ancient times is just plain wrong in that regards -> it depends on what you want to achieve and/or do.
fwiw: in case adding objects to a list then please make life easier for yourself and don't use a normal TList but the special crafted TFPGObjectList. For small example
here.