Let $G$ be a group. A subgroup $H$ of $G$ is called a retract of $G$ if there exists a homomorphism $r:G \to H$ such that $r(h)=h$, for all $h\in H$.
We can easily check that every finite-by-cyclic group has only finitely many retracts (as a subgroup). (Recall that a group $G$ is finite-by-cyclic if it is an extension of a finite group by a cyclic group).
My question: Is there a bigger class (or other class) of groups with finitely many retracts?
Sorry, I edit my question. Trivially, every simple group (even more splitting groups: groups with no proper nontrivial retracts) are triviall examples. I am looking for other examples.