The system is actually quite complex, so if you want a full understanding of it, I'm just going to refer you to TFergusson's Party Mechanics Guide, section 1.4 has all the details.
If you just want a general idea though, here's a table that I pulled out of that guide, summing up each character's "grade" in each stat. The numbers range from 0-29, and lower numbers represent larger gains.
Str Vit Mag Spr Dex ================================================= Cloud 1 6 3 4 26 Barret 5 2 18 14 29 Tifa 6 18 16 9 25 Aeris 23 20 0 1 28 Red 12 11 13 9 23 Yuffie 16 19 11 10 24 Cait Sith 19 22 6 4 28 Vincent 21 22 6 4 28 Cid 11 7 17 15 27 =================================================
Here is what I remember off of the top of my head:
Cloud - Balanced, good at both Barret - Physical Tifa - Physical Aeris - Magical Red 13 - Balanced (His magic is quite good, don't overlook that) Cait Sith - Magical (pretty bad overall though) Cid - Physical Yuffie - Physical Vincent Valentine - Magical
I don't quite remember the affinity in terms of stats, but I do remember Yuffie always had the best luck.
If you want to grind, there are ways to get sources near the end game to boost everyone up to max stats so at that point it doesn't really matter.