Olá, Anderson!
Até onde sei (se eu estiver errado, por favor, me corrijam), como TCollection pode conter objetos TCollectionItem ou descendentes deste, a coleção já nasce com propriedades, métodos e editores que facilitam sua manipulação através do Object Inspector.
Já a classe TObjectList pode conter qualquer objeto descendente de TObject, mas não possui manipuladores pré definidos para otimizar sua utilização em tempo de design.
Ou seja, se você criar um "componente", prefira a classe TCollection, caso contrário, pode utilizar TObjectList.
Vale lembrar que o uso de Generics pode facilitar bastante o uso de coleções como o TObjectList, evitando a necessidade de fazer typecast no acesso aos elementos da coleção. Nesse caso, use TObjectList<T>, presente na unit System.Generics.Collections.
Tem bastante material na web sobre isso.
Um abraço,
Jair
Pessoal alguém poderia me explicar qual a diferenã fundamental entre estas duas classes e quando e mais vantagem usar cadas uma delas?