Yeah i actually read at least 5 TPA last time before i finally master it, but it's well worth the effort ;) Take it slowly and really, read up all the TPA tutorials there are (in both the intermediate and advanced section), you will eventually understand it. I rmb there are a few that explains quite well and much easier to understand, cant rmb which though.
For a start, i'll give you some basic concepts:
When you use an ordinary color finding function (eg. FindColor), it will find the color from the screen and once it found the color, it returns the point to the var param (x,y) and breaks. But what if there are more points on the screen that has the color? TPA functions (FindColorsTolerance etc) solves the problem by storing all the TPoint where the colors are found to an array.
And now with an array of Tpoint you can manipulate it in several ways using plugin functions from Simba (check out the WizzyPlugin tutorial), such as sorting it from a point, or size etc, and most commonly, grouping those close to each other through SplitTPA/TPAtoATPA, and looping through them then using MiddleTPA to find the median of these points.
Ok i probably sound confusing, but just be patient and keep reading all the different tutorials and re-reading them until you understand.
Also the source code:
https://github.com/MerlijnWajer/Simba/blob/master/Units/MMLCore/tpa.pasis probably the most useful information, and i learnt how most TPA functions work, as well as how to handle arrays in general from there. You may need to be very familiar with for loops and arrays to understand them though. (and you can experiment with the functions using make-up static TPAs to get an idea)