prove that every infinite subset of compact set H has a limit point (Explanation)
Solution 1:
Suppose $S$ has no limit point in $H$. So we are proving the statement by contradiction.
$S$ has no limit point in $H$ means "for all $q \in H$, $q$ is not a limit point of $S$".
This implies there is for each $q \in H$ some open set $V_q$ that contains $q$ and such that $V_q \cap S$ is finite.
This is the fact you're missing; it's what not being a limit point implies, because if $q$ is a limit point, then every open set $V$ containing $q$ has a point in $S$ unequal to $q$. The negation says that there exists some open set $V$ such that $V \ni q$ and $V \cap S$ can be at most $\{q\}$ (or empty). Or maybe you use the notion of a $\omega$-limit point: every open set containing $q$ intersects $S$ in an infinite set, and then the negation says that there exists an open set that only intersects $S$ in a finite set. Either way we can find such a $V_q$ for all $q$, if $S$ has no ($\omega$-)limit point.
Now as $H$ is compact, $H = \bigcup\{V_{q_i}: i = 1,\ldots n\}$, for some finitely many points of $H$. But then $S = S \cap H = \bigcup \{V_{q_i} \cap S: i=1,\ldots, n\}$ which is a finite union of finite sets by how we chose all $V_q$, but this contradicts that $S$ is infinite. So the initial assumption is false and $S$ must have some ($\omega$-)limit point.
Solution 2:
You can prove this directly: since $S$ has no limit point in $H$ it is closed in $H$. Also, for each $p\in S$ there is an open neighborhood $U_p$ of $p$ such that $U_p\cap S=\left \{ p \right \}.$ But then, $\left \{ U_p:p\in S, S^c \right \}$ is an infinite open cover of $H$ with no finite subcover.