What theorem can we use to find all abelian groups of a finite order up to isomorphism? I vaguely remember learning that finding all abelian groups of order $n$ (up to isomorphism) is possible by simply finding the prime factorization of $n$ and taking outer products of cyclic groups that multiply up to that order.
Example: for 180, we take $180=2^{2}*3^{2}*5^{1}$, which implies that all possible abelian groups are isomorphic to one of:
$Z_{2} \times Z_{2} \times Z_{3} \times Z_{3} \times Z_{5}$, 
$Z_{4} \times Z_{3} \times Z_{3} \times Z_{5}$, 
$Z_{2} \times Z_{2} \times Z_{9} \times Z_{5}$, 
$Z_{4} \times Z_{9} \times Z_{5}$.
Is this correct? And if so, what major theorem allows us to use this method?
 A: The Fundamental Theorem of Finite Abelian Groups
A: The aptly named Fundamental Theorem of Finite Abelian Groups.
A: The result you are looking for is typically known as Fundamental Theorem for Finite Abelian Groups, or also Structure Theorem for Finite Abelian Groups. There are two versions. 
For each (nontrivial) finite abelian group $G$ there are up to  ordering unique primepowers $q_1, \dots, q_s$ such that $G$ is isomorphic to $Z_{q_1} \oplus \dots \oplus Z_{q_s}$. 
The order of $G$ is $q_1 \dots q_s$. Thus, yes, it suffices to consider all factorization of $n$ into prime powers.
This also yields a formula for the number of different groups of order $n = p_1^{v_1} \dots p_k^{v_k} $. The number is $p(v_1) \dots p(v_k)$  where $p(v_i)$ denotes the number of partitions.
An alternative way to classify all groups of a given order is the fact that there are unique $1< n_1 |\dots | n_r$ such that $G$ is isomorphic to $Z_{n_1} \oplus \dots \oplus Z_{n_r}$.
The equivalence is seen using the Chines Remainder Theorem.
You can find a worked out explcit example in this question: Checking class isomorphisms 
(Note that my answers here and there have some everlap.)
