As I understand, if $0\rightarrow A\rightarrow X\rightarrow B\rightarrow 0$ is a short exact sequence of abelian groups, $\mbox{Ext }_{\mathbb{Z}}^{1}(B,A)$ gives all the isomorphism classes of what can come in as $X$. But when I consider $0\rightarrow \mathbb{Z}\rightarrow X\rightarrow \mathbb{Z}/(3)\rightarrow 0 $,$\ \ \ $ $\mbox{Ext } _{\mathbb{Z}}(\mathbb{Z}/(3),\mathbb{Z})=\mathbb{Z}/(3)\ \ $ but all I can think of for $X$ are only two, $\mathbb{Z}$ and $\mathbb{Z}\oplus\mathbb{Z}/(3)$. Am I missing something or am I not understanding the result of extension problem correctly?

$\mathrm{Ext} = \mathrm{Ext}^1$ does not classify the middle terms up to isomorphism. It classifies the short exact sequences up to equivalence, where the equivalence relation is generated by commutative diagrams having equalities on each end. It's possible for two inequivalent short exact sequences to have isomorphic middle terms. See Eisenbud's book, Exercises A3.26, A3.27, and especially A3.29 for more. As for your particular example, consider the pullback of the exact sequence $0 \to \mathbb{Z} \rightarrow \mathbb{Z} \to \mathbb{Z}/(3) \to 0$ by the map given by multiplication by 2 on $\mathbb{Z}/(3)$. The middle term is isomorphic to $\mathbb{Z}$, but the short exact sequence is not equivalent to the original. 


The subtlety is in when two extensions are considered the same, in other words what are the morphisms of extension? There are different reasonable answers. For example a morphism could just be a morphism of short exact sequences (i.e. chain complexes). However the statement that $Ext^1$ classifies extensions uses a very particular kind of morphism of extension: only those morphisms of short exact sequences which are the identity on A and B. Let's look at extensions of $\mathbb{Z}/3$ by $\mathbb{Z}$, where the middle guy is a $\mathbb{Z}$. Suppose that the map from $f:\mathbb{Z} \to \mathbb{Z}$ is fixed and is multiplication by 3. Notice that there is a unique map $h: \mathbb{Z} \to \mathbb{Z}$ such that $f = hf$, In short, the extensions $\mathbb{Z} \to \mathbb{Z} \to \mathbb{Z}/3$, up to isomorphism fixing the first and last group, are in bijection with homomorphisms from $\mathbb{Z} \to \mathbb{Z}/3$ which have kernel $3 \cdot \mathbb{Z}$. There are exactly two such homomorphisms, given by sending 1 to 1 or 1 to 2 in $\mathbb{Z}/3$. So there are two distinct nonspilt extensions. However you can also use $Ext^1(B;A)$ to get extensions up to the weaker notion of equivalence described above. Since Ext is functorial in both variables, you have an action by the automorphism groups of both A and B. Extensions up to this weaker notion are in bijection with equivalence classes in the quotient of $Ext^1$ by these actions. You can check in this case that the action by automorphisms of $\mathbb{Z}/3$ exchanges the two nonzero elements of $Ext^1(\mathbb{Z}/3, \mathbb{Z})$, and so there are exactly two extensions in this weaker sense: the spilt extension and the nonsplit one. 

