At the beginning of their journey, Trainers are given a starter Pokémon. This Pokémon will be used to battle the first wild Pokémon that the Trainer encounters.
Once another Pokémon is caught, the starter Pokémon may be retired, but it is often with this Pokémon that Trainers learn friendship and trust. As such, even advanced Trainers may still use their starter Pokémon, and they will often be the most powerful Pokémon on their respective teams.
The player's rival (the player character not chosen) will then take the starter Pokémon that has a type advantage over the one the player chooses. However, that Pokémon is stolen by Ricardo soon afterwards and the rival takes the remaining starter Pokémon.
The secondary types of the starter Pokémon's evolved forms (Flying/Rock/Fighting) form another type effectiveness triangle, in addition to the main Grass/Fire/Water triangle.
This secondary triangle goes in the same direction as the primary one. This means that the primary and secondary type of one evolved starter will each be super-effective against the primary and secondary type of another evolved starter respectively, and will each be resisted by the primary and secondary type of the third evolved starter respectively.
The secondary triangle is the only other type effectiveness triangle possible (in that each of the types is super-effective against another and resisted by the third). It also only contains types which used to be considered physical types, while the Grass/Fire/Water triangle only contains types which used to be considered special.