A group $H$ is called a retract of a group $G$ if there exists homomorphisms $f:H\to G$ and $g:G\to H$ such that $gf=id_H$. When $G$ is abelian, a retract of $G$ is exactly a direct summand.
By The number of internal direct summands of a finitely generated abelian group , $\mathbb{Z}^2$ (hence every finitely generated abelian group with rank greater than 1) have infinitely many direct summands. On the other hand, $\mathbb{Z}$ and finite abelian groups have clearly only finitely many retracts.
Does a finitely abelian group with the form $\mathbb{Z}\times G$, where $G$ is a (abelian) finite group, has only finitely many retracts $H$?
I'm interested in retracts as subgroups $H \subset G$ not "up to isomorhism".
Let $\mathbb{Z}\oplus G$ be the direct sum of subgroups $H$ and $K$.
Write each element of $\mathbb{Z}\oplus G$ as $(z,g)$.
Either $H$ or $K$ must be of the form $0\oplus J$, where $J$ is a subgroup of $G$.
The reason is that if $(m,g_1)\in H$ and $(n,g_2)\in K$ where $m\neq0$ and $n\neq0$, then $(mn|G|,e)=n|G|(m,g_1)=m|G|(n,g_2)\in H\cap K$.
So, let's suppose $H=0\oplus J$.
It follows that, writing $K\cap(0\oplus G)$ in the form $0\oplus F$, we have that $G$ is a direct product of $F$ and $J$.
$K$ must have at least one element of the form $(1,g)$. This is because, as I said, all elements of $H$ have the first coordinate as being $0$, and since $(1,e)=h+k$ for some $h\in H$ and $k\in K$, such a value of $k$ must have the first coordinate as being $1$.
Also, for such a choice of $g$, we have that $K$ is the direct product of $\langle (1,g)\rangle$ and $0\oplus F$.
If you've followed this argument, you'll see that $\mathbb{Z}\oplus G$ has only finitely many retracts.